Я конвертируюсь в спящий режим 5.2.4 и использую CriteriaQuery. У вас небольшая проблема при тестировании нулевого соединения в файле. Это то, чем я занимался, прежде чем работал.Спящий режим Критерии проверки подлинности для нулевого соединения
@Entity
public class MyClass {
....
@ManyToOne(..)
public MyDetail getMyDetail() {
return myDetail;
}
}
Criteria criteria = session.createCriteria(MyClass.class);
criteria.createAlias("myDetail", "md");
criteria.add(Restrictions.isNotNull("myDetail"));
Я проверял, как это и иногда он не работает:
andPredicate = builder.and(andPredicate, builder.isNotNull(
root.get(MyClass_.myDetail)));
Есть правильный способ сделать это? Я попытался создать соединение и проверить значение null, но это также не работает:
Join<MyClass, MyDetail> myJoin = root.join(MyClass_.myDetail);
andPredicate = builder.and(andPredicate, myJoin.isNotNull());
Спасибо.