Hibernate中多对多关系如何查询
2010-08-20 16:13
204 查看
今天遇到了HIbernate中的多对对查询问题,由于多对多的关系在实体中都是集合:所以查询时的方式有所不同:
代码如下:
public List<String> getListNameByPtyg() {
String sql="select t.trueName from KhUsers t join t.dictionaryInfos as s where s.name='普通员工' and s.fenleiCode='B'";
Query query=super.getSession().createQuery(sql);
List<String> result=query.list();
return result;
}
注意:1。查询的字段如trueName前面必须加上表的别名
2。t.dictionaryInfos as s:dictionaryInfos是实体中集合对象的名称,后面的s其实是实体单个对象,where条件中就是以这个对象的字段条件查询的。
代码如下:
public List<String> getListNameByPtyg() {
String sql="select t.trueName from KhUsers t join t.dictionaryInfos as s where s.name='普通员工' and s.fenleiCode='B'";
Query query=super.getSession().createQuery(sql);
List<String> result=query.list();
return result;
}
注意:1。查询的字段如trueName前面必须加上表的别名
2。t.dictionaryInfos as s:dictionaryInfos是实体中集合对象的名称,后面的s其实是实体单个对象,where条件中就是以这个对象的字段条件查询的。
相关文章推荐
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- Hibernate查询方法与缓存的关系
- Hibernate 查询多个字段返回的list如何转为自定义对象
- Hibernate多层的单向1对多关系的查询
- Hibernate如何提升数据库查询的性能
- Hibernate 中多对多(many-to-many)关系的查询语句
- Hibernate如何提升数据库查询的性能
- hibernate中如何防止N+1条语句查询
- Hibernate 联合查询如何输出
- Hibernate查询方法与缓存的关系
- 如何结合hibernate进行复杂的查询功能设计
- Hibernate查询方法与缓存的关系
- Hibernate查询问题 如何不使用缓存 简单方法
- Hibernate の 如何根据数据库字段查询
- 使用 hibernate 时,如何去除重复项查询出的数据
- Hibernate一级缓存、二级缓存以及查询缓存的关系
- Hibernate 注解如何表示一个未加入映射关系的bean属性
- Hibernate中对时间的查询是如何实现的呢?
- Hibernate多条件查询以及与java+sql 之间数据类型转换关系
- hibernate中当Teacher与Student具有多对多的关系时,且使用关联关系,没有实体的中间表,如何使用hql根据student的名字取出拥有他的teacher