★问一个Hibernate的问题,关于主表中集合数据的过滤。

iStringTheory 2008-04-16 04:50:55
class A {

Set B;

}

class B {

Date date;

}

想返回date值为date1的A对象,如何写这个HQL呢?谢谢!
...全文
177 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
panxuan 2008-04-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 java2000_net 的回复:]
别费劲了,用NativeQuery 查询算了!
[/Quote]
bobor_2008 2008-04-17
  • 打赏
  • 举报
回复
我也试了一下
Query query=session.createQuery("from A a where a.B.date=date1");

这个可以。
bobor_2008 2008-04-17
  • 打赏
  • 举报
回复
你要在hbm.xml文件配置上延迟加载.如:
1.
<class name="www.ibm.news.pojo.B" table="b" lazy="false">

2.
Query query=session.createQuery(" from B b where b.date=date1");

你这样可以得到B对象的date为date1的。
然后在B.getA()也就可以得到了对应的A对象了。

呵呵,我可以答非所问了,如果要实现那个结果,我想这样也是一种方法。


awusoft 2008-04-17
  • 打赏
  • 举报
回复
把那个B改成小写的吧,感觉好一点
awusoft 2008-04-17
  • 打赏
  • 举报
回复
刚才试了一下直接这样就可以了

from A a where a.B.date=date1
awusoft 2008-04-17
  • 打赏
  • 举报
回复
select a from A a,B b where a.id = b.aid and b.date=date1

试试看吧
iStringTheory 2008-04-17
  • 打赏
  • 举报
回复
楼上的似乎不行,还有其他办法么?
Ant 2008-04-16
  • 打赏
  • 举报
回复
select * from A a where a in (select * from B b where B.date=:data1 and B.owner = a)

感觉可以
老紫竹 2008-04-16
  • 打赏
  • 举报
回复
别费劲了,用NativeQuery 查询算了!
xby123 2008-04-16
  • 打赏
  • 举报
回复
HQL不会。。。。
iStringTheory 2008-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 seeSkyblue 的回复:]
你是不是想说返回包含有date1数据的A对象?

A里面是个集合,不可能会单独等于一个值的。
[/Quote]
1、A对象包含B对象的集合
2、查询B对象的date域为date1的集合
3、返回满足条件2的A对象集合
seeSkyblue 2008-04-16
  • 打赏
  • 举报
回复
你是不是想说返回包含有date1数据的A对象?

A里面是个集合,不可能会单独等于一个值的。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧