Dmi*_*miN 18 java hibernate jpa
假设我有以下HQL
EntityManager.createQuery("SELECT a FROM a WHERE a.b = :par OR a.c = :par").setParameter("par", obj);
Run Code Online (Sandbox Code Playgroud)
好像不行.有没有人知道如何解决这个问题仍然只使用一个参数?
Dhi*_*vya 27
setParameter(String name,Object val)
Run Code Online (Sandbox Code Playgroud)
这用于将值绑定到命名参数.但是,在无关紧要的查询中,名称可能会多次出现.因此,请检查一下您是否确实拥有该查询的数据.
查看此处的文档
该文档中的一些主要文本
命名查询参数是格式的标记:查询字符串中的名称.值通过调用setParameter("foo",foo,Hibernate.INTEGER)绑定到整数参数:foo; 例如.名称可能会在查询字符串中多次出现.
如果仍然没有得到结果,那么只需尝试使用两个名称并设置它
EntityManager.createQuery("SELECT a FROM a WHERE ab =:par1 OR ac =:par2").setParameter("par1",obj).setParameter("par2",obj);
归档时间: |
|
查看次数: |
19911 次 |
最近记录: |