我有两个类,彼此之间有双向的@OneToOne映射.
Class A {
@OneToOne(fetch = FetchType.Lazy, mappedBy="a")
private B b;
}
Class B {
@OneToOne(fetch = FetchType.Eager)
private A a;
}
Run Code Online (Sandbox Code Playgroud)
我需要编写代码来检索B的所有实例,这些实例没有与之关联的A实例.我还需要为没有B的所有A编写类似的查询.
我试过了:
Criteria criteria = getSession().createCriteria(B.class)
criteria.add(Restrictions.isNull("a")
Run Code Online (Sandbox Code Playgroud)
但这似乎总是返回null.思考?
这应该适用于两个方向:
Criteria criteria = session.createCriteria(B.class, "b");
criteria.createAlias("b.a", "a", Criteria.LEFT_JOIN);
criteria.add(Restrictions.isNull("a.id"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3033 次 |
| 最近记录: |