0
我正在轉換到hibernate 5.2.4並使用CriteriaQuery。在測試文件上的空連接時遇到輕微問題。這是我在之前的工作。Hibernate 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)));
有沒有做到這一點正確的方法是什麼?我試圖創建一個空的加入和測試,但這也是行不通的:
Join<MyClass, MyDetail> myJoin = root.join(MyClass_.myDetail);
andPredicate = builder.and(andPredicate, myJoin.isNotNull());
謝謝。