我想用一个标准搜索我的数据库。多个字段的示例,或者一起。也就是说,我想检索其中“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);
这不起作用,因为 Disjunctions 仅适用于 criteri on而不是 criteri 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?