データベースを基準で検索したい.複数のフィールドの例、OR'd を一緒に。つまり、"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 は基準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 を実行する方法はありますか?