默认的hibernate3.2的DetachedCrieria还不能支持对如下的多对一的关联的对象的属性的排序。
<class name="Meeting"
table="meeting">
<id name="key" field="company_code"/>
<many-to-one class="Company">
<column>company_code</column>
</many-to-one>
</class>
在hibernate3.2下对meeting按照company的companyName排序会报错。
DetachedCriteria dc = DetachedCriteria.forClass("Meeting");
dc.addOrder(Order.asc("company.companyName"));
查了一下,有人提交了一个修改的解决方案。
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2629
但还不完善,不能做到多层引用。
用这个文件要重编译hibernate。
使用时,需要建立一个相关的subcriteria。
dc.createCriteria("company");
分享到:
相关推荐
DetachedCriteria实例不直接与数据库交互,而是需要与Session结合才能执行查询。以下是如何将其与Session关联并执行的示例: ```java Session session = sessionFactory.openSession(); Criteria criteria = ...
DetachedCriteria
"Hibernate - DetachedCriteria 的完整用法" Hibernate 的 Criteria 和 DetachedCriteria 是两个不同的概念,虽然它们都是用于查询数据的,但它们在创建和使用上有所不同。 首先,Criteria 是在线的,需要通过 ...
DetachedCriteria 是 Hibernate 中的一种离线查询对象,它可以在不依赖 Session 的情况下生成动态 SQL 语句并进行查询。下面是 DetachedCriteria 查询的详细知识点: 创建 DetachedCriteria 对象 DetachedCriteria...
在Java的持久化框架Hibernate中,DetachedCriteria是一个强大的查询工具,它允许我们在不与Session交互的情况下构建查询条件。然而,DetachedCriteria在处理复杂的关联查询,尤其是涉及到表连接(JOIN)时,可能存在...
子查询是 `DetachedCriteria` 的另一大亮点,它可以让你在主查询中嵌入另一个查询语句。例如,要查询所有与特定职务相关的人员,可以通过以下方式实现: ```java // 主查询: 人员查询 DetachedCriteria searDc = ...
6. **多对一(One-to-Many)和一对多(Many-to-One)关联** 这是两种常见的关联关系。在Hibernate中,通过`@ManyToOne`和`@OneToMany`注解可以定义这种关系。在联表查询时,可以通过这些注解实现数据的级联加载或...
为了解决这些问题,`DetachedCriteria` 应运而生。它允许在Web层构造查询条件,并将其作为参数传递给业务层对象,从而实现查询语句构造的完全解耦。这样,业务层仅需关注数据的持久化和查询封装,而不必关心具体的...
在对象关系映射部分,书中会详细讲解如何定义实体类,包括属性、标识符(Id)、关系映射(One-to-One、One-to-Many、Many-to-One、Many-to-Many)等。这些关系映射允许开发者将复杂的数据库关系转化为直观的对象模型...
通过`one-to-one`、`one-to-many`、`many-to-one`和`many-to-many`四种关联类型,Hibernate支持复杂的数据结构映射,提供丰富的关联查询能力。 八、性能优化 1. 使用批处理:通过设置`hibernate.jdbc.batch_size`来...
例如,`one-to-one`、`many-to-one`、`one-to-many`、`many-to-many`标签用于在映射文件中定义这些关系。 12. **继承映射**: - Hibernate支持单表继承、联合继承和表-per-class继承策略,使得基于类的层次结构...
- 一对多(One-to-Many):一个实体对应多个实体实例。 - 多对一(Many-to-One):多个实体对应一个实体实例。 - 多对多(Many-to-Many):多个实体对应多个实体实例。 十、乐观锁与悲观锁 - 乐观锁:基于版本号或...
8. **一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-Many)关系**:Hibernate通过`@OneToMany`,`@ManyToOne`,`@ManyToMany`注解来处理这些关联关系,自动建立关联表或中间表。 9. **事务管理**...
13. **一对多(One-to-Many)、多对一(Many-to-One)、多对多(Many-to-Many)关联映射**:Hibernate支持各种复杂的关系映射,如集合(List、Set、Map)与表的关联。 14. **懒加载(Lazy Loading)**:延迟加载...
1. One-to-One、One-to-Many和Many-to-Many关联:Hibernate支持多种对象间的关联映射,如一对一、一对多和多对多,通过@OneToOne、@OneToMany和@ManyToMany等注解实现。 2. Collections:Hibernate允许在实体类中...
4. **关联管理**:Hibernate支持多种关联类型,如一对一(one-to-one)、一对多(one-to-many)和多对多(many-to-many)。`inverse`属性用于指定关联的主控方,`cascade`用于控制级联操作,`lazy`加载策略决定对象...
- 一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)、多对多(Many-to-Many)关系的映射配置。 - 关联的懒加载和即时加载策略,影响性能和内存消耗。 9. **性能优化** - 批量操作:利用...
12. **一对多(One-to-Many)、多对一(Many-to-One)关系映射**:这些是实体类之间的关联关系,可以通过`@OneToMany`, `@ManyToOne`注解来定义。 13. **多对多(Many-to-Many)关系映射**:这种关系需要一个中间表...
在Web编程中,DetachedCriteria和Criteria可以解决动态条件查询的问题,提高程序的灵活性和可维护性。 DetachedCriteria的使用方法: DetachedCriteria是离线的查询工具,可以在Web层构造查询条件,然后将其传递给...
11. **一对多(One-to-Many)、多对一(Many-to-One)关系映射**:Hibernate支持不同类型的关联映射,如一对一(One-to-One)、一对多、多对一和多对多。通过@ManyToOne、@OneToMany和@JoinColumn等注解进行配置。 ...