hibernate 中对set对象的两种配置方法:
(一)使用order-by对set排序,只需要修改set设置:
<set name="standards" ... order-by="st_id desc" >
...
</set>
//注意:st_id必须是数据表里的字段名,不能使类里的属性名
//使用order-by,实质是hibernate自动在查询语句后面添加order by ...语句。
(二)使用sort对set排序
1.修改set设置:
<set name="standards" ... sort="mypack.module.AsStandard" >
...
</set>
注意:属性standards要定义成:
private Set<AsStandard> standards = new TreeSet<AsStandard>();
不能定义成HashSet,否则不能用sort进行排序。
2.修改实体类AsStandard:
public class AsStandard implements Comparator { // 1.实现接口Comparator
...
public int compare(Object o1, Object o2) { // 2.实现方法compare
if(o1 instanceof AsStandard && o2 instanceof AsStandard){
AsStandard r1 = (AsStandard)o1;
AsStandard r2 = (AsStandard)o2;
if(r1.stId>r2.stId){ //stId是类里的属性名,不是数据表里的字段名
return 1;
}
}
return -1;
}
}
//如果支持泛型,可写成:
public class AsStandard implements Comparator<AsStandard> { // 1.实现接口Comparator
...
public int compare(AsStandard o1, AsStandard o2) { // 2.实现方法compare
if(o1.stId>o2.stId){
return -1;
}
return 1;
相关推荐
在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象模型中的集合类,如List、Set、Map等。这允许我们在Java代码中操作对象集合,而Hibernate负责处理底层的SQL查询和数据存储。本文将深入探讨`...
LIST对象排序通用方法HIBERNATE的SET排序.pdf
分析LIST对象排序通用方法HIBERNATE的SET排序.pdf
LIST对象排序通用方法HIBERNATE的SET排序[整理].pdf
在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库排序规则以及Hibernate的配置等因素导致的。本文将深入探讨如何解决这些问题,确保MySQL数据库中的...
### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 排序 关联”这一标题明确了本文将围绕Hibernate Criteria API进行分组、排序以及关联查询的具体...
- **无序性**:`Set`内部的元素排序由`HashSet`或`TreeSet`等实现决定,通常并不按照插入顺序排列,这在数据一致性上更有优势,但可能不符合某些业务需求。 - **性能**:在数据库层面,`Set`映射通常会导致主键...
本主题主要聚焦于如何利用Hibernate处理集合类型的属性,包括Set、List和Map。这些集合类型的映射允许我们在一个实体类中存储多个相关联的数据项,从而实现一对多或多对多的关系。 首先,Set是不包含重复元素的集合...
【标题】和【描述】提及的是使用Hibernate框架处理一对多多对多关系时的查询与排序问题,特别是关于在HQL(Hibernate Query Language)中进行排序的实现方式。 在Java的Hibernate框架中,处理一对多多对多关系时,...
10. **一对多、多对一、一对一和多对多关系映射**:Hibernate支持多种关联映射,包括集合映射,如List、Set、Map等,以及复合主键的处理。 11. **继承映射**:在Java中,子类可以继承父类。在Hibernate中,这种继承...
例如,使用`createCriteria()`创建Criteria,`add(Restriction)`添加查询条件,`setOrder(Order)`进行排序,`setFirstResult()`和`setMaxResults()`实现分页。 8. **Caching(缓存)** Hibernate5支持二级缓存,...
在3.1.x版本中,Hibernate对性能进行了多方面的优化,包括延迟加载(Lazy Loading)、批处理(Batch Processing)和结果集映射(Result Set Mapping)等,旨在减少数据库交互次数,提升系统性能。 九、总结 ...
在Java持久化框架Hibernate中,容器映射技术是将Java集合类(如Set、Map、List等)与数据库中的关联关系进行映射的一种方法。这种技术使得对象之间的复杂关系能够被有效地存储和检索,增强了数据操作的灵活性。下面...
5. **HQL(Hibernate Query Language)**:Hibernate特有的查询语言,类似于SQL,但操作对象而非表格,支持更高级的查询功能,如关联查询、分组、排序等。 6. **事务管理**:Hibernate支持JTA(Java Transaction ...
- Hibernate支持多种关系映射,本章将深入讲解一对一、一对多和多对一的关系配置,包括集合类型的选择(List, Set, Map等)和级联操作的设置。 4. **Chapter 9:多对多关系映射** - 多对多关系在数据库设计中常见...
今天我们要探讨的是Hibernate的抓取策略,特别是针对set集合的策略。在大型应用中,有效地管理数据加载能显著提升性能,减少数据库交互次数,这就是抓取策略的核心作用。 首先,我们需要理解什么是抓取策略。在...
2. **Chapter 06 - 排序(OrderBy)**: Hibernate支持对查询结果进行排序,这部分可能讲述了如何使用`@OrderBy`注解或HQL的`ORDER BY`子句来实现动态或静态的排序功能。 3. **Chapter 07 - 组件和集合(Set)**: ...
9. **集合映射**:Hibernate支持多种类型的集合映射,如List、Set、Map等,以及一对一、一对多、多对多的关联关系映射。 10. **缓存机制**:Hibernate提供了一级缓存和二级缓存,可以提高数据读取速度并减少数据库...
在Hibernate中,集合映射是指将数据库中的表与Java集合对象(如List、Set等)进行关联,方便对一组相关数据进行操作。 "bag"是Hibernate中的一种集合类型,表示无序的、可重复的对象集合。在数据库层面,这通常对应...
10. **集合映射**:在Hibernate 3.2中,可以映射各种类型的集合,如List、Set、Map等,同时支持一对多、多对一、一对一等多种关联关系。 11. **延迟加载(Lazy Loading)**:为了解决性能问题,Hibernate 提供了懒...