如何指定被通配符包围的JPA命名参数?
我将如何指定一个JPA查询,如:
Query q = em.createQuery( "SELECT x FROM org.SomeTable x WHERE x.someString LIKE '%:someSymbol%'" );
其次是:
q.setParameter("someSymbol", "someSubstring");
而不是触发一个
org.hibernate.QueryParameterException: could not locate named parameter [id]
非常感激!
怎么样
Query q = em.createQuery( "SELECT x FROM org.SomeTable x WHERE x.someString LIKE :someSymbol" ); q.setParameter("someSymbol", "%someSubstring%");
我很确定我曾经解决过你的问题。
作为参考,你也可以使用CONCAT:
like CONCAT('%', :someSymbol, '%')
query.setParameter(someSymbol,“%”+ someSymbol +“%”);
- 如何使用JPA和Hibernate解决LazyInitializationException
- 在双向JPA OneToMany / ManyToOne关联中,“关联的反面”是什么意思?
- 一对多,多对一和多对多的区别?
- 如何使用Hibernate打印带有参数值的查询string
- 如何在Eclipse中安装Hibernate工具?
- Criteria.DISTINCT_ROOT_ENTITY vs Projections.distinct
- 我需要persistence.xml中的<class>元素吗?
- 为什么我需要在Hibernate中进行只读操作?
- javax.validation.ValidationException:HV000183:无法加载“javax.el.ExpressionFactory”