muss ich Kriterien oder Criterion auf bestimmten Feld myProperity (auf Klasse MyClass) erstellen erstellen. Ich muss alle Objekte wählen, die prop = null haben oder spezifische Kriterien erfüllen. Also sollte ich so etwas wie machen:Wie erstellt man Kriterien für ein Feld, das null sein kann?
Criteria criteria = this.sessionManager.getCurrentSession().createCriteria(MyClass.class);
specificCriteria = criteria.createCriteria('myProperity');
/* definition of specificCriteria */
Disjunction disjunction = Restrictions.disjunction();
disjunction.add(Restrictions.isNull('myProperity'));
disjunction.add(specificCriteria);
criteria.add(disjunction);
Das Problem verursacht wird, werden die Fakten:
- ich nicht Kriterien zu Disjunction hinzufügen können (bis Disjunction kann nur ein Kriterium hinzugefügt werden), so line: disjunction.add (specificCriteria); ist falsch
- Ich kann nicht irgendwie die spezifischeCriteria ändern, um Null zu akzeptieren, weil ich Kriterien auf null nicht machen kann. (Es gibt mir NullPointerException)
Haben Sie irgendeine Idee, wie man damit umgeht?
Eine Disjunktion ist ein Kriterium, also können Sie es zu einem Kriterium hinzufügen. –
Ja, ich habe eine Zeile verfehlt: criteria.add (disjunction); aber es ist nicht der Fall. – M314
das Problem ist, dass ich nicht hinzufügen kann Kriterien disjunction: disjunction.add (specificCriteria); – M314