【发布时间】:2017-01-03 21:33:55
【问题描述】:
我想使用标准搜索我的数据库。多个字段的示例,或一起。也就是说,我想检索其中“field1”是我的搜索对象的示例或“field2”是我的搜索对象的示例的记录,其中 field1 和 field2 是顶级对象的子对象,并且每个对象都是相同的类型作为我的搜索对象。
我想做的是
Disjunction or = Restrictions.disjunction();
or.add(criteria.createCriteria("field1").add(searchObj));
or.add(criteria.createCriteria("field2").add(searchObj));
criteria.add(or);
这不起作用,因为析取仅适用于条件on,而不适用于条件a。
我试过了
Disjunction or = Restrictions.disjunction();
or.add(Restrictions.eq("field1", searchObj));
or.add(Restrictions.eq("field2", searchObj));
criteria.add(or);
但这在对象的主键上给了我一个 PropertyAccessException,说
IllegalArgumentException occurred calling getter of [.....].pk
有什么方法可以通过示例子句之间的分离来执行 QBE?
【问题讨论】:
标签: hibernate query-by-example