hql 多对一查询语句如何写

问题描述

hql 多对一查询语句如何写
  • 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语句怎么写啊,在线急等,求大神指点

解决方案

hibernate查询语句--HQL
hibernate查询语句--HQL
hibernate查询语句--HQL

解决方案二:

是B类的所有ID吗?
我想到的是遍历,bs代表B类的所有实例对象,
String hql="from A a where a.b.id =?";
for(B b :bs){
List as= session..createQuery(hql).setParameter(0,b.getId());.list();
}
每次返回一个list,然后合并,去掉相同部分。
下面是网上找的方法
public static void ArrayListSort(ArrayList list1,ArrayList list2){
//(Array)List.removeAll/addAll/retainAll
printlnList(list1,"org list1");
printlnList(list2,"org list2");
ArrayList newList=new ArrayList ();
ArrayList newList2=new ArrayList ();
ArrayList newList3=new ArrayList ();
newList2.addAll(list1);
newList3.addAll(list2);
newList2.removeAll(newList3);
newList.addAll(newList2);
newList.addAll(newList3);
printlnList(newList,"newList");

}
我也不知道行不行

解决方案三:

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

解决方案四:

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

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

时间: 2024-11-16 19:28:39

hql 多对一查询语句如何写的相关文章

mysql-Mysql 查询语句怎么写?

问题描述 Mysql 查询语句怎么写? 开发市场调查业务,有一个调查问题表responses (一百万行), 是市场调查的原始数据,包含survey_id(调查表的类型列),response_no(被调查者列),interview_date(调查日期), question_label(问题列), value(回答列), section_unique_id(部门列)等. 每一行对应某个被调查者回答的一个问题和它的调查结果.一个被调查者一次会回答30个问题,所以会产生30行. 另有一个计算公式表 (

数据库-sqlite查询语句怎么写

问题描述 sqlite查询语句怎么写 有2个表S.C, S有字段sId(主键), sName, C有字段cId(主键).sId(外键).cTime 假设S数据为: sId, sName a, 哈 b, 呵 C数据为: cId, sId, cTime, cValue 1, a, 100, xxx 2, a, 111, yyy 3, b, 123, zzz 4, b, 234, hhh 现在我要查询的结果为: sId , sName, cTime, cValue a, 哈, 111, yyy b,

这个查询语句怎么写?

问题描述 f_projectidf_typef_price12外包117外包2221材料417材料5017货运551出差33一张表的结构是这样的:项目id付款类型金额f_projectidf_price外包f_price材料f_price货运f_price出差f_price总计1040333717222505503271210001现在根据类型和项目id来统计一个项目的总支出?sql查询语句怎么写?谁能告诉下我 解决方案 解决方案二:这结帖率解决方案三:selectf_projectid,sum

查询语句-sql 2008 无主键分页怎么写

问题描述 sql 2008 无主键分页怎么写 sql 2008 表中没有主键,分页查询语句怎么写.......? 解决方案 就算没有主键,也最好有一个字段代表顺序 解决方案二: 虚拟个主键,几个字段做个联合主键.不知道行不行 解决方案三: ROW_NUMBER() 的使用 DECLARE @t TABLE( col INT NULL ) INSERT INTO @t ( col ) VALUES ( 0 ),(1),(0) SELECT col,ROW_NUMBER() OVER(ORDER B

请问这个sql查询语句怎么实现

问题描述 我的mysql数据库里面有很多很多文章,我想用select语句查出里现在半个小时的文章..文章的表明叫myarticle,字段有标题 title,内容content,发表时间pubtime,其他省略...比如:现在时间是2011年3月27日21:26..我想查出从2011年3月27日21:00到2011年3月27日21:30 这个时间段的文章发表的文章.这个查询语句怎么写呢? 问题补充:redstarofsleep 写道 解决方案 select * from myarticle whe

hql语句查询实体类News的属性category为“生活类新闻”的LIST,HQL语句怎么写?

问题描述 hql语句查询实体类News的属性category为"生活类新闻"的LIST,HQL语句怎么写? 用SSH框架,写一个实现类,查询实体类News的属性category为"生活类新闻"的LIST 返回一个LIST,该怎么写???????????????????? 实体类为News 属性为category 数据库中表名为t_news category为属性 import java.util.List; import org.springframework.st

hql-一个关于HQL查询语句的问题

问题描述 一个关于HQL查询语句的问题 查询一个实体类的部分属性,比如,这个实体类中有另外的一个实体类,但不想去查询这个实体类,只想查询原来实体类的私有属性,应该怎么写语句? 解决方案 可以直接写SQL的,查询字段只查询某些属性就可以了.类似: session.createQuery("select username,age from User where id=2");

hibernate查询语句--HQL

1.from 1.1单表查询 from eg.cat as cat.其中,cat只是一个别名,为了用其他子语句的时候书写简单 1.2多表查询 from eg.Cat,eg.Dog from eg.Cat as cat,eg.Dog as dog 2.join相关 (inner) join left (outer) join right (outer) join full join HQL同样对SQL中的这些特性支持 下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想

查询多对多sql语句写法 悬赏190 请人帮帮忙!! 急啊、、

问题描述 查询多对多sql语句写法 悬赏190 请人帮帮忙!! 急啊.. 一个是众酬表,一个是会员表,还有个这两者的中间表. 会员可以参与多个众酬 众酬可以被多个会员参与 1.会员角度:会员登录,要查询当前所有的众酬列表并且标记哪些众酬当前会员已参与 2.众酬角度:进入某个众酬详情可罗列当前参与此众酬的会员列表 解决方案 这取决于众筹表怎么设计 解决方案二: select *,(select count(1) from 众筹会员表 where id=z.id) as canyu from 众筹表