hibernate中使用hql或者criteria方法查询指定字段,包含关联关系时,怎样同时查出指定的部分字段关联实体
比如两个类Teacher,Student是多对多关系,此处简单表述,省略各种注解。ClassTeacher{Stringname;intage;intgender;Dat...
比如两个类Teacher,Student是 多对多 关系,此处简单表述,省略各种注解。
Class Teacher{
String name;
int age;
int gender;
Date birthday;
String address;
List<Student> students;
}
Class Student{
String name;
int age;
int gender;
Date birthday;
String address;
List<Teacher> teachers;
}
如果我想查询Teacher的name,age和对应的students列表,其他字段不查,应该怎么样做呢,hql或者criteria都可以。
此前查过了如何查询部分字段,比如hql的new Teacher(name, age),还有criteria的projection投影,只查成员字段没问题,但要同时查关联字段时就不行,请各位大神指点。
还请看清题目,只查成员字段的方法就不要再回答啦~ 展开
Class Teacher{
String name;
int age;
int gender;
Date birthday;
String address;
List<Student> students;
}
Class Student{
String name;
int age;
int gender;
Date birthday;
String address;
List<Teacher> teachers;
}
如果我想查询Teacher的name,age和对应的students列表,其他字段不查,应该怎么样做呢,hql或者criteria都可以。
此前查过了如何查询部分字段,比如hql的new Teacher(name, age),还有criteria的projection投影,只查成员字段没问题,但要同时查关联字段时就不行,请各位大神指点。
还请看清题目,只查成员字段的方法就不要再回答啦~ 展开
1个回答
展开全部
到了Hibernate3.0以后,关联关系的对象默认都是使用延迟加载,例如时.但我在映射,关系时指定了lazy="true",但是在查询对象时,我只想查询一个对象,仍然会把这个对象所关联的,对象一起查询出来,这样造成了极大的性能浪费.在不指定lazy属性时,所关联
追问
请看清题,我用的是懒加载,查所有没问题,用hql“from Teacher”就可以,查部分成员字段也可以,用hql “select new Teacher(name, age)from Teacher”,但是查询的部分字段包含关联字段就不行
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询