首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate Criteria API问题

Hibernate Criteria API问题
EN

Stack Overflow用户
提问于 2011-08-24 19:53:27
回答 2查看 196关注 0票数 0

我有两张桌子A和B:

代码语言:javascript
复制
A columns (ID,NameA,BiD)
B columns (ID,NameB)  

ID被引用到Bid作为外部RelationMapping。问题是.My Hibenate B实体没有获取列表,但我的hibernate A实体有B实体实例。

代码语言:javascript
复制
select a.* from A a, B b 
where a.BiD=b.ID

ı如何在Hibernate Criteria Api中执行此查询?我希望我能解释我的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-24 20:23:08

您不需要连接查询中的类。此信息位于映射文件中。如果你加载A,那么B也会被加载(可能是惰性的)。

代码语言:javascript
复制
Criteria c = session.createCriteria(A.class).list();

如果此答案不起作用,则说明您忘记了提供有关所需查询的一些信息。

票数 0
EN

Stack Overflow用户

发布于 2011-08-24 20:17:41

假设您想要的是找到具有特定B ID的所有A实例

代码语言:javascript
复制
Criteria c = session.createCriteria(A.class, "a");
c.add(Restrictions.eq("a.b.id", theIdOfB);
return c.list();

如果必须根据B的名称而不是B的ID进行搜索,则需要一个联接:

代码语言:javascript
复制
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中的示例进行了解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7174976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档