社区
Java SE
帖子详情
★问一个Hibernate的问题,关于主表中集合数据的过滤。
iStringTheory
2008-04-16 04:50:55
class A {
Set B;
}
class B {
Date date;
}
想返回date值为date1的A对象,如何写这个HQL呢?谢谢!
...全文
240
12
打赏
收藏
★问一个Hibernate的问题,关于主表中集合数据的过滤。
class A { Set B; } class B { Date date; } 想返回date值为date1的A对象,如何写这个HQL呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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里面是个集合,不可能会单独等于一个值的。
hibernate
之
数据
过滤
hibernate
之
数据
过滤
Hibernate
数据
过滤
Hibernate
3 提供了一种创新的方式来处理具有“显性(visibility)”规则的
数据
,那就是使用
Hibernate
filter。
Hibernate
filter是全局有效的、具有名字、可以带参数的
过滤
器, 对于某个特定的
Hibernate
session您可以选择是否启用(或禁用)某个
过滤
器。 一旦启用了
数据
过滤
器,则不管是
数据
查询,还是
数据
加载,该
过滤
器将
使用
Hibernate
过滤
集合
元素的两种方法
(1)通过代码 List list=session.createQuery("from Programer").list(); for(Iterator iter=list.iterator();iter.hasNext();) ...{ Programer p=(Programer)iter.next();
Hibernate
集合
过滤
、子查询
来自:[url]http://blog.csdn.net/javacoffe/archive/2007/08/09/1733579.aspx[/url] 1、
集合
过滤
: 对于
一个
已经加载的Customer对象,假设对它的orders
集合
采用延迟加载机制,那么当调用customer.getOrders().iterator()时,
Hibernate
就会初始化orders
集合
,然后到
数据
...
Hibernate
高级查询技巧——
集合
过滤
与子查询
1、
集合
过滤
: 对于
一个
已经加载的Customer对象,假设对它的orders
集合
采用延迟加载机制,那么当调用customer.getOrders().iterator()时,
Hibernate
就会初始化orders
集合
,然后到
数据
库
中
去加载Customer对象所关联的Order对象,并且填充orders
集合
,但是很多时候我们其实只是需要关联对象
中
符合某些条件的一部分对象,而并不需要加
Java SE
62,622
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章