我得到的原因是:java.sql.SQLSyntaxErrorException:ORA-00904:“FUNCTION”:hibernate JPA 3.6.7.final版本中的标识符无效

时间:2014-07-22 04:29:51

标签: jpa

String queryString =“从Vesselarrivalnotice模型中选择model.vesselCode,model.vesselName,count(model),其中model.vesselCode不为null并且”+             “model.vesselName不为null,model.docStatus ='Approved'和函数('MONTH',model.actualArriveTime)=”+月+“和函数('YEAR',model.actualArriveTime)=”+ year +             “和model.portdetailCode ='”+ port +“'和model.companydetailCode ='”+ company +“'”+             “group by model.vesselCode,model.vesselName”;

    Query query = getKpiEntityManager().createQuery(queryString);

1 个答案:

答案 0 :(得分:0)

createQuery方法需要JPQL查询,并且您提供SQL查询。 JPQLSQL类似,但语法不同,不如SQL强大。 您有两种选择:

  1. use getKpiEntityManager().createNativeQuery(queryString)执行SQL查询,
  2. 将您的查询重写为JPQL。但JPQL不支持函数,因此选项1可能是更好/更容易的选择。