【Java开源代码栏目提醒】:网学会员在Java开源代码频道为大家收集整理了AirplaneSession.java提供大家参考,希望对大家有所帮助!
package atbs.session;
import java.sql.Timestamp;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import atbs.entity.Airline;
import atbs.entity.Airplane;
import atbs.entity.Ticket;
@Stateless
public class AirplaneSession implements AirplaneSessionRemote {
@PersistenceContext
private EntityManager manager;
public Airplane createAirplane(Airplane airplane) {
//now ,this is not check airplane is right
System.out.println("Request create new Airplane");
if(airplane!=null && airplane.getAirline()!=null && airplane.getAirline().getId()!=null){
manager.persist(airplane);
return airplane;
}
return null;
}
public Airplane deleteAirplaneById(Long airplaneId) {
System.out.println("Request delete airplane[id="+airplaneId+"]");
Airplane airplane = manager.find(Airplane.class, airplaneId);
if(airplane==null){
System.out.println("There is not a airplane in system");
return null;
}else{
manager.remove(airplane);
System.out.println("Delete airplane success...");
return airplane;
}
}
public Airplane findAirline(Long id) {
System.out.println("Request find Airplane[id="+id+"]");
Airplane airplane = manager.find(Airplane.class, id);
return airplane;
}
public List<Airplane> findAirplaneByEnd(String end) {
System.out.println("Request find Airplane By End[end="+end+"]");
Query query = manager.createQuery("Select a from Airplane a where a.airline.end =:end");
query.setParameter("end", end);
List<Airplane> airplaneList = query.getResultList();
return airplaneList;
}
public List<Airplane> findAirplaneByStart(String start) {
System.out.println("Request find Airplane By start[start="+start+"]");
Query query = manager.createQuery("Select a from Airplane a where a.airline.start =:start");
query.setParameter("start", start);
List<Airplane> airplaneList = query.getResultList();
return airplaneList;
}
public List<Airplane> findAirplaneByStartAndEnd(String start, String end) {
System.out.println("Request find Airplane By start[start="+start+"] and End[end = "+end+"]");
Query query = manager.createQuery("Select a from Airplane a where a.airline.start =:start adn a.airline.end =:end");
query.setParameter("start", start);
query.setParameter("end", end);
List<Airplane> airplaneList = query.getResultList();
return airplaneList;
}
public Airplane updateAirplane(Airplane airplane) {
System.out.println("Request update Airplane[id="+airplane.getId()+"]");
if(manager.find(Airplane.class, airplane.getId())==null){
return null;
}else{
manager.merge(airplane);
return airplane;
}
}
public List<Airplane> findAirplaneByTime(Long airlineId,Timestamp startTime, Timestamp endTime) {
System.out.println("find Airplane List by AirlineId[id="+airlineId+"] and Time");
Query query = manager.createQuery("Select a from Airplane a where a.airline.id =:airlineId and a.startTime between :startTime and :endTime");
query.setParameter("airlineId", airlineId);
query.setParameter("startTime", startTime);
query.setParameter("endTime", endTime);
List<Airplane> airplaneList = query.getResultList();
return airplaneList;
}
}