0
StringBuffer query = new StringBuffer();
query.append("SELECT e FROM DBMGPersonMetaData e WHERE
    e.moduleUniqueId.extension= ?1 AND e.ConsType ");

query.append("IN ( SELECT  CASE WHEN " +"INSTR(p.description, ' ') = 0  "+
"   THEN SUBSTR(p.description,1)   "+ " WHEN INSTR(p.description, ' ') !=0 "+
"   THEN SUBSTR(p.description,1,INSTR(p.description, ' ')-1)  END"+ " AS ee  FROM DBProjectMetaData p WHERE p.projectUniqueId.extension= ?2");
dbModuleperson = (DBMGPersonMetaData) 
entityManager.createQuery(query.toString()).setParameter(1,"12").
setParameter(2,"12").getSingleResult();
4

1 回答 1

0

为了运行native SQL queryin JPA,您应该改用此方法:

entityManager.createNativeQuery(query.toString());

您使用的方法 ( createQuery) 接受JPQL查询或CriteriaQuery.

于 2013-05-20T02:06:35.770 回答