2016-07-26 83 views
0

我有一個方法接收很多參數,並應該在查詢,EJBQL查詢中使用它。通過正常查詢,我可以使用:使用EJBQL和EntityQuery jboss seam

public void method(Long code){ 
Query q = this.em.createQuery("SELECT a FROM ClassA a WHERE a.code = :code);  q.setParameter("code", code); 
} 

這很有效。但這種變化對EJBQL不工作如我所料:

public void method(Long code){ 
     EntityQuery<Object> eq = new EntityQuery<Object>(); 
     eq.setEjbql("SELECT a FROM ClassA a WHERE a.code = :code"); 
     //Set here the param code 
     } 

我EntityQuery是:org.jboss.seam.framework

回答

0

你不應該新entityQuery使用

EntityManager em = (EntityManager) Expressions.instance().createValueExpression("#{entityManager}").getValue(); 

em.createQuery("SELECT a FROM ClassA a WHERE a.code = :code);