JPA / Hibernate:使用params作为函数参数?

时间:2013-01-30 05:47:40

标签: java hibernate jpa parameters jpql

return em.createQuery(
     "SELECT doc FROM TexyDoc doc 
       WHERE doc.origPath LIKE CONCAT('%', :1)")
    .setParameter(1, path)

导致

QuerySyntaxException: expecting IDENT, found '1' near line 1, column 82 
[SELECT doc FROM cz.oz.web.model.TexyDoc doc 
   WHERE doc.origPath LIKE CONCAT('%', :1)]

为什么呢?语法应该是什么样的?

1 个答案:

答案 0 :(得分:0)

这里的问题是你做args的方式。这样做:

LIKE CONCAT('%', :path)"

然后:

.setParameter("path", path);

更有可读性命名参数。