`
phpxiaoxin
  • 浏览: 252483 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate DetachedCriteria 一对多查询

    博客分类:
  • java
阅读更多
  1. DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Department. class )
  2. detachedCriteria.add(Restrictions.eq("name" "department" )).createAlias( "employees" "e" ).add(Restrictions.gt(( "e.age" ),  new  Integer( 20 )));    

Department和Employee是一对多关联,查询条件为:
名称是“department”开发部门;
部门里面的雇员年龄大于20岁;

 

以上内容来自:Hibernate一对多查询

 

但是如果你注意一下他生成的sql语句就会发现,其实他就是使用了普通的inner join的方式关联查询了两个表。

这回产生一个问题,就是:如果子表有两条数据关联主表的同一条数据的结果,那么查询结果会多出来一条。

那么hibernate应该是在内部进行了unique。

分享到:
评论

相关推荐

    Hibernate 使用DetachedCriteria操作

    DetachedCriteria是Hibernate提供的一种灵活、可复用的查询工具,它允许开发者在不同上下文中构建和执行查询。理解并熟练运用DetachedCriteria,有助于提升代码的可维护性和性能。在实际开发中,结合其他Hibernate...

    Hibernate(24): 为什么用DetachedCriteria不能表连接地取数据?

    在提供的代码文件中,我们看到了`Husband.java`和`Wife.java`两个类,这可能是表示一对多或者一对一的关系。如果要在DetachedCriteria中查询这两个实体的关联数据,可以先分别构建DetachedCriteria,然后在执行时...

    hibernate的多态查询

    5. **多态查询的实现**:Hibernate支持使用`DetachedCriteria`或`Criteria` API来进行多态查询,通过`createCriteria()`方法指定父类,并使用`add(Restrictions.in("property", values))`等方法来限制查询条件。...

    Hibernate-基础联表模板

    6. **多对一(One-to-Many)和一对多(Many-to-One)关联** 这是两种常见的关联关系。在Hibernate中,通过`@ManyToOne`和`@OneToMany`注解可以定义这种关系。在联表查询时,可以通过这些注解实现数据的级联加载或...

    Hibernate中,利用Criteria查询容器实现sql的写法

    同时,很多IDE如Eclipse和IntelliJ IDEA提供了对Hibernate的支持,可以自动生成Criteria查询,简化开发过程。 在进行团队协作时,文件管理也非常重要,"java集成svn"可能指的是项目中使用了Subversion(SVN)作为...

    孙卫琴精通hibernate part2

    - Hibernate支持多种关系映射,本章将深入讲解一对一、一对多和多对一的关系配置,包括集合类型的选择(List, Set, Map等)和级联操作的设置。 4. **Chapter 9:多对多关系映射** - 多对多关系在数据库设计中常见...

    hibernate in action 中文版书籍

    3. **对象关系映射**:深入讲解Hibernate的核心——对象关系映射(ORM),包括实体类的设计、属性注解、主键生成策略、关联映射(一对一、一对多、多对一、多对多)等,使开发者理解如何将Java对象与数据库表进行...

    Hibernate_Criteria条件查询数据

    7. **关联查询**:Criteria支持一对多、多对一、一对一等关联查询。通过`createCriteria()`方法,可以嵌套创建关联对象的Criteria,以获取相关联的数据。 8. **子查询**:Criteria也支持子查询,可以将一个Criteria...

    Hibernate Quickly 源代码

    此外,一对多(@OneToMany)、多对一(@ManyToOne)、一对一(@OneToOne)和多对多(@ManyToMany)的关系映射也会在源码中有详细的实现。 3. 查询语言(HQL):Hibernate提供了一种面向对象的查询语言,HQL。源码中会包含...

    Hibernate3中文文档

    10. **集合映射**:Hibernate支持多种集合类型(如List、Set、Map等)与数据库表之间的映射,以及一对一、一对多、多对多关系的处理。 11. **事件监听器**:Hibernate允许注册事件监听器,以便在特定的持久化操作...

    Hibernate 3.2.0 中文官方文档

    8. **集合映射**:如何处理一对多、多对一、多对多的关系映射,如List、Set、Map等集合类型的映射。 9. **缓存机制**:Hibernate支持第二级缓存和查询缓存,可以显著提高性能。理解何时及如何使用缓存策略。 10. *...

    hibernate官网jar包

    10. **实体关系**:Hibernate 支持一对一、一对多、多对一、多对多等多种关系映射,如`@OneToOne`、`@OneToMany`、`@ManyToOne`、`@ManyToMany`。 11. **懒加载与立即加载**:Hibernate 提供了懒加载(Lazy Loading...

    Hibernate思维导图

    12. **一对多(One-to-Many)、多对一(Many-to-One)关系映射**:这些是实体类之间的关联关系,可以通过`@OneToMany`, `@ManyToOne`注解来定义。 13. **多对多(Many-to-Many)关系映射**:这种关系需要一个中间表...

    Hibernate手把手教学

    - Hibernate支持多种对象关系映射,如实体类之间的一对多、多对一、一对一关系。 9. **懒加载与立即加载** - 懒加载(Lazy Loading)延迟加载关联的对象,直到真正需要时才加载,提高性能。 - 立即加载(Eager ...

    Hibernate 手册中文版chm格式

    7. 一对多、多对一、多对多关系映射:这部分会讲解如何处理不同类型的关联关系,包括集合的映射和懒加载。 8. 私有化标识符(Identity)和代理(Proxy):介绍Hibernate如何处理对象的标识符和延迟加载。 9. 事务...

    java Hibernate 中文API文档

    11. **一对多(One-to-Many)、多对一(Many-to-One)关系映射**:Hibernate支持不同类型的关联映射,如一对一(One-to-One)、一对多、多对一和多对多。通过@ManyToOne、@OneToMany和@JoinColumn等注解进行配置。 ...

    hibernate程序高手秘笈-英文版

    7. **关联映射**:详细解析一对一、一对多、多对一、多对多的各种关联映射,包括集合类型如List、Set、Map的使用。 8. **延迟加载和立即加载**:了解何时使用延迟加载和立即加载,以及它们对性能的影响。 9. **...

    Hibernate API Documentation 3.3.0.SP1

    1. One-to-One、One-to-Many和Many-to-Many关联:Hibernate支持多种对象间的关联映射,如一对一、一对多和多对多,通过@OneToOne、@OneToMany和@ManyToMany等注解实现。 2. Collections:Hibernate允许在实体类中...

    Hibernate3.3 API中文版

    `@OneToOne`、`@OneToMany`、`@ManyToOne`和`@ManyToMany`注解分别用于表示一对一、一对多、多对一和多对多的关系。通过这些注解,我们可以轻松处理对象间的关联关系,实现数据的级联操作。 除此之外,Hibernate还...

    day36-hibernate检索和优化 02-Hibernate检索方式:简单查询及别名查询

    Criteria API是Hibernate提供的一种强大且类型安全的查询机制,它允许我们基于对象模型而不是数据库模式进行查询。简单查询通常涉及到单一条件,例如根据某个属性值查找对象。在Criteria API中,我们可以通过...

Global site tag (gtag.js) - Google Analytics