随笔 - 71  文章 - 15  trackbacks - 0
<2013年7月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

因为口渴,上帝创造了水;
因为黑暗,上帝创造了火;
因为我需要朋友,所以上帝让你来到我身边
Click for Shaanxi xi'an, Shaanxi Forecast
╱◥█◣
  |田|田|
╬╬╬╬╬╬╬╬╬╬╬
If only I have such a house!
〖总在爬山 所以艰辛〗
Email:myesjoy@yahoo.com.cn
NickName:yesjoy
MSN:myesjoy@hotmail.com
QQ:150230516

〖总在寻梦 所以苦痛〗

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

Hibernate在线

Java友情

Java认证

linux经典

OA系统

Spring在线

Structs在线

专家专栏

企业信息化

大型设备共享系统

工作流

工作流产品

网上购书

搜索

  •  

最新评论

阅读排行榜

评论排行榜

Spring+Hibernate3的框架中用到了关联查询

表User:Address是一对多的关系
UserBean中有一个addresses的Set

现在要查询出这样的User,拥有Address中门牌doorplate为"642"的User,
现在DB中只有一个这样的User,这个User拥有门牌doorplate为"642"的Address五个~~

创建DetachedCriteria 的语句如下:

DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class);
detachedCriteria.createCriteria("才").add(Restrictions.like("doorplate","642"));

实际查询语句如下:

List list = getHibernateTemplate().findByCriteria(queryCriteria);

理论上查询出来的list应该User的list是1

总结如下
1:
DetachedCriteria addressCriteria = DetachedCriteria.forClass(User.class).createCriteria("addresses");
addressCriteria.add(Restrictions.eq("doorplate","642")):

2:
DetachedCriteria addressCriteria = DetachedCriteria.forClass(User.class).createAlias("addresses", "a");
addressCriteria.add(Restrictions.eq("a.doorplate","642")):
posted on 2006-10-20 11:10 ★yesjoy★ 阅读(5795) 评论(4)  编辑  收藏 所属分类: Hibernate学习

FeedBack:
# re: DetachedCriteria关联查询 2012-08-18 14:56 爱因思念
1和2不都一样吗?  回复  更多评论
  
# re: DetachedCriteria关联查询 2013-07-23 18:44 name
这个查询的话,会多出重复数据。  回复  更多评论
  
# re: DetachedCriteria关联查询 2013-11-18 15:48 996416660
@name
是有重复数据,该怎么解决啊  回复  更多评论
  
# re: DetachedCriteria关联查询 2016-08-09 09:43 sss
dddd  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: