HQL判断集合中是否存在某个元素问题

Shine_Panda 2011-08-10 05:44:04
hibernate 中
A 为父表 B 为之表 A-B 为 0...n 的关系 B 对象有属性 id 。
mutiB 为List<B>
现在Hql语句中 想查出 a.mutiB 中 是否存在 id 为“abc” 的对象
不知道这个地方的hql语句要怎么写

where a.mutiB ? ????
...全文
729 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
我嘞个去 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qybao 的回复:]
引用 1 楼 ljsspace 的回复:
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';


+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa
[/Quote]

softroad 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gis__ 的回复:]

引用 8 楼 zl3450341 的回复:
引用 4 楼 qybao 的回复:

引用 1 楼 ljsspace 的回复:
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';


+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa
……
[/Quote]

+++++1
GIS__ 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zl3450341 的回复:]
引用 4 楼 qybao 的回复:

引用 1 楼 ljsspace 的回复:
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';


+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa


+++
[/Quote]

++++
zl3450341 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qybao 的回复:]

引用 1 楼 ljsspace 的回复:
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';


+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa
[/Quote]

+++
GIS__ 2011-08-10
  • 打赏
  • 举报
回复
SELECT a FROM A a inner join B b WHERE a.multiB=b AND b.id='abc';
ljsspace 2011-08-10
  • 打赏
  • 举报
回复
确实: http://www.objectdb.com/java/jpa/query/jpql/collection
ljsspace 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qybao 的回复:]

引用 1 楼 ljsspace 的回复:
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';


+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa
[/Quote]

最新版的JPA(JPQL)有contains查询了啊?
qybao 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ljsspace 的回复:]
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';
[/Quote]

+1
inner jion 和 jion 都可以
主要是HQL不提供contains查询,不像jpa
ljsspace 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pipi517 的回复:]

from A a join fetch a.mutiB where a.mutiB.id="abc"

这样可以不?
[/Quote]
不可以,a.multiB是集合
皮皮 2011-08-10
  • 打赏
  • 举报
回复
from A a join fetch a.mutiB where a.mutiB.id="abc"

这样可以不?
ljsspace 2011-08-10
  • 打赏
  • 举报
回复
inner join就可以:
SELECT a FROM A a inner join a.multiB b WHERE b.id='abc';

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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