package domain;
import java.util.List;
import java.util.Map;
public class Department {
private int id;
private String name;
//private Set<Employee> emps;
//private List<Employee> emps;
//private Map<Employee,String> emps;
private Employee[] emps;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="domain">
<class name="Department" table="`department`">
<id name="id" column="`id`">
<generator class="native"></generator>
</id>
<properties name="name"></properties>
<!--
有排序功能会出现order_col一列
<list name="emps">
<key column="depart_id"></key>
<list-index column="order_col"></list-index>
<one-to-many class="Employee"/>
</list>
-->
<!--
与List对应不会出现排序的一列
<bag name="emps">
<key column="depart_id"></key>
<one-to-many class="Employee"/>
</bag>
-->
<map name="emps">
<key column="depart_id"></key>
<map-key type="String" column="name"></map-key>
<one-to-many class="Employee"/>
</map>
<!-- 数组很List一样 -->
</class>
</hibernate-mapping>
package domain;
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
总结:
集合映射(Set\List\Array\Bag\Map)
这些集合类都是Hibernate实现的类和Java中的集合类不完全一样,set、list、map分别和java中的Set、List、Map
接口对应,bag映射成java的List这些集合的使用和java集合中对应的接口基本一致;在Java的实体类中集合只能定义成接口不能定义成具体类,因为集合会在运行时被替换成Hibernate的实现。
集合的简单实用原则:大部分情况使用set,需要保证集合中的顺序用list享用list又不需要保证顺序用bag。
分享到:
相关推荐
在这个“hibernate中的集合映射范例程序”中,我们将深入探讨如何在Hibernate中进行集合映射,以及不同集合类型的应用场景。 首先,集合映射是Hibernate中处理一对多、多对多关系的核心机制。它允许我们将一个实体...
1. **集合类型**:Hibernate支持多种集合类型映射,如Set、List、ArrayList、LinkedList、Map等。Set是最常见的集合映射类型,它不允许重复元素,与数据库中的唯一约束相对应。 2. **元素类型**:集合中的每个元素...
正确配置和使用各种集合类型,如List、Set和Map,可以帮助我们更好地处理数据库中的复杂关系,提高代码的灵活性和可扩展性。同时,关注性能优化策略,如懒加载和批处理,对于大型项目尤为重要。
"bag"是Hibernate中的一种集合类型,表示无序的、可重复的对象集合。在数据库层面,这通常对应于一个无特定排序且可能包含重复值的表。在Java代码中,你可以将bag映射为ArrayList或者LinkedList,尽管它们在内存中的...
对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...
6. 集合类映射:在Java中集合是常用的,Hibernate支持集合类的映射,这部分将解释如何映射List、Set、Map等集合类型。 7. 组件映射:当一个类的属性是由其他几个类的属性组合而成时,可以使用组件映射。这部分内容...
Set 集合是 Hibernate 中基础的集合类型,元素数据一般使用外键同主表关联。Set 集合非常适用于集合元素不能重复的情况。Set 集合是无序的,集合元素并不是按照一定的顺序排列的。 List 集合映射 List 集合是有序...
3. **数据库驱动**:例如mysql-connector-java,对应所使用的数据库类型,用于连接数据库。 4. **JDBC API**:如javax.sql和java.sql,为数据库操作提供基础接口。 5. **Servlet和JSP**:servlet-api和jsp-api,是...
Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...
在这个主题中,我们将深入探讨Hibernate集合映射的各个方面。 首先,我们来看一下**一对多映射**。在数据库中,如果一个表的记录可以与另一个表的多个记录关联,这种关系就被称为一对多。在Hibernate中,可以通过`...
总之,Hibernate集合映射与关联关系是数据库设计和Java开发中的核心概念。正确理解和运用这些关系,能够帮助我们更高效地管理数据,简化代码,提升系统的可维护性和扩展性。在实际项目中,还需要根据具体需求进行...
Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...
7. **与其他框架集成**:`Hibernate Validator`不仅可以在独立应用中使用,还能够与Spring、Hibernate ORM等框架无缝集成。 `classmate`库是`Hibernate Validator`的一部分,它负责处理类型相关的元数据,如泛型...
2. 集合映射:如List、Set、Map等集合类型的映射。 3. 异步操作:通过使用Hibernate的异步API,可以在后台线程中执行数据库操作,不阻塞主线程。 4. 事件监听:可以注册监听器来响应特定的ORM事件,如对象的保存、...
1. **元素类型**:在Hibernate中,List集合可以包含任何Java对象,这些对象可以是基本类型,也可以是自定义的复杂类型。 2. **关联关系**:List集合通常与数据库的一张表进行关联,通过外键字段建立一对一、一对多...
在本文中,我们将深入探讨Hibernate的使用心得,特别是关注HQL(Hibernate Query Language)查询的技巧和优化策略。HQL是Hibernate框架中用于操作对象关系映射的SQL方言,它允许开发者以面向对象的方式来编写查询,...
这里的"List"是Java集合框架中的一个接口,用于存储一组有序的元素,而在Hibernate中,它常用来映射数据库中的数组、列表或集合类型的数据。本文将详细探讨如何使用Hibernate映射集合属性List,以及如何让Hibernate...
9. **集合映射(Collection Mapping)**:Hibernate可以映射Java集合类型到数据库的关联关系,如List、Set、Map等,方便处理一对多、多对一、多对多的关系。 10. **Callback事件**:Hibernate提供了一些生命周期回...
15. **其他高级特性**:包括实体继承、多态性、集合映射、复杂类型、时间/日期处理、SQL特定功能等。 这本参考手册全面覆盖了Hibernate 3.6.10的关键特性和用法,是Java开发者深入理解和应用Hibernate不可或缺的...
本文档主要围绕Hibernate的最新中文API进行详细阐述,帮助开发者深入理解和高效使用Hibernate。 在Hibernate中,核心概念包括实体(Entities)、会话(Sessions)、事务(Transactions)、查询(Queries)等。首先...