我有两张桌子A和B:
A columns (ID,NameA,BiD)
B columns (ID,NameB) ID被引用到Bid作为外部RelationMapping。问题是.My Hibenate B实体没有获取列表,但我的hibernate A实体有B实体实例。
select a.* from A a, B b
where a.BiD=b.IDı如何在Hibernate Criteria Api中执行此查询?我希望我能解释我的问题?
发布于 2011-08-24 20:23:08
您不需要连接查询中的类。此信息位于映射文件中。如果你加载A,那么B也会被加载(可能是惰性的)。
Criteria c = session.createCriteria(A.class).list();如果此答案不起作用,则说明您忘记了提供有关所需查询的一些信息。
发布于 2011-08-24 20:17:41
假设您想要的是找到具有特定B ID的所有A实例
Criteria c = session.createCriteria(A.class, "a");
c.add(Restrictions.eq("a.b.id", theIdOfB);
return c.list();如果必须根据B的名称而不是B的ID进行搜索,则需要一个联接:
Criteria c = session.createCriteria(A.class, "a");
c.createAlias("a.b", "b");
c.add(Restrictions.eq("b.name", theNameOfB);
return c.list();与往常一样,所有这些都用the reference documentation中的示例进行了解释。
https://stackoverflow.com/questions/7174976
复制相似问题