2 myc csdn Myc_CSDN 于 2016.04.28 19:10 提问

hql 多对一查询语句如何写 1C
  • public A { private long id; private String a; private B b; } public B{ private long id; private String b; } 现在我知道了B类的id和A类的变量a,要查出整个A类,hql语句怎么写啊,在线急等,求大神指点

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.28 19:22

hibernate查询语句--HQL
hibernate查询语句--HQL
hibernate查询语句--HQL
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

whoSaidNo
whoSaidNo   2016.04.28 19:26
whoSaidNo
whoSaidNo   2016.04.28 19:29

直接使用子查询应该也可以吧
String hql="from A a where a.b.id in(select id from B)"

whoSaidNo
whoSaidNo 应该是String hql="from A a where a.b.id in(select b.id from B b)",忘了取别名,容易出错
一年多之前 回复
whoSaidNo
whoSaidNo   2016.04.28 19:43

如果你不能直接查询B的话,可以写成
String hql="from A a where a.b.id in :list";
List list=new ArrayList();

list.add(B类的ID);
query.setParameterList(“list”,list);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!