EJB 3.0中使用SQL查询

下面这段代码演示了如何在ejb 3中使用参数化的SQL查询:

protected EntityManager manager;
...
String ejbqlDelete = "delete from ClientTicket p where " + 
   "p.closed = :paramClosed and " + 
   "p.department = :paramDepartment and " + 
   "p.ticketUserID = :paramTicketUserID and " + 
   "p.ticketName = :paramTicketName";

int deletedEntities = manager.createQuery(ejbqlDelete).
   setParameter("paramClosed", Boolean.TRUE).
   setParameter( "paramDepartment", adminid).
   setParameter( "paramTicketUserID", userID ).
   setParameter( "paramTicketName", delTicket ).
   executeUpdate();