求助:DetachedCriteria关联查询问题~~

06-10-11 xiaoxiaodao
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("addresses").add(Restrictions.like("doorplate","642"));
<p>

实际查询语句如下:

List list = getHibernateTemplate().findByCriteria(queryCriteria);
<p>

理论上查询出来的list应该User的list是1,可现在查询出的是5个,请教哪位高人指点我这样写为什么查询不出来?

         

banq
2006-10-16 15:25
>这个User拥有门牌doorplate为"642"的Address五个

>可现在查询出的是5个

不懂你的意思,是5个啊

xiaoxiaodao
2006-10-17 11:48
不好意思,是我说的不清楚,

>

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

这里查询处的list查出来的userList,理论上userList中应该只有一个userBean,在此userBean中的addresses的Set有5个,

可现在是userList中有5个userBean,每个userBean中有5个相同的addresses的Set,不知道为什么会有这种原因,

请大侠指点~~~

xiaoxiaodao
2006-10-17 11:50
请banq大侠帮忙,郁闷了我一个多星期了,在网上找的例子也都是这样的,不知道这种情况原因可能在什么地方~~

banq
2006-10-17 13:25
关键看你findByCriteria怎么实现的。

btw:其实Hibernate并不是和Spring完美无缝结合的,因为他们两个作者方向就不一样,Hibernate作者是为EJB服务器JBoss服务的,Hibernate是EJB3的实现机制.....,而Spring和EJB3是相竞争的,而且争得很厉害。

猜你喜欢
2Go 1 2 下一页