`

Hibernate中使用集合类型

阅读更多
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中进行集合映射,以及不同集合类型的应用场景。 首先,集合映射是Hibernate中处理一对多、多对多关系的核心机制。它允许我们将一个实体...

    hibernate set 集合映射

    1. **集合类型**:Hibernate支持多种集合类型映射,如Set、List、ArrayList、LinkedList、Map等。Set是最常见的集合映射类型,它不允许重复元素,与数据库中的唯一约束相对应。 2. **元素类型**:集合中的每个元素...

    hibernate map 集合映射

    正确配置和使用各种集合类型,如List、Set和Map,可以帮助我们更好地处理数据库中的复杂关系,提高代码的灵活性和可扩展性。同时,关注性能优化策略,如懒加载和批处理,对于大型项目尤为重要。

    hibernate bag 集合映射

    "bag"是Hibernate中的一种集合类型,表示无序的、可重复的对象集合。在数据库层面,这通常对应于一个无特定排序且可能包含重复值的表。在Java代码中,你可以将bag映射为ArrayList或者LinkedList,尽管它们在内存中的...

    JAVA数据类型与Hibernate的类型映射

    对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...

    hibernate中文参考文档

    6. 集合类映射:在Java中集合是常用的,Hibernate支持集合类的映射,这部分将解释如何映射List、Set、Map等集合类型。 7. 组件映射:当一个类的属性是由其他几个类的属性组合而成时,可以使用组件映射。这部分内容...

    Hibernate常见集合映射(Set,List_Array,Map,Bag)

    Set 集合是 Hibernate 中基础的集合类型,元素数据一般使用外键同主表关联。Set 集合非常适用于集合元素不能重复的情况。Set 集合是无序的,集合元素并不是按照一定的顺序排列的。 List 集合映射 List 集合是有序...

    springmvc+hibernate使用jar包集合

    3. **数据库驱动**:例如mysql-connector-java,对应所使用的数据库类型,用于连接数据库。 4. **JDBC API**:如javax.sql和java.sql,为数据库操作提供基础接口。 5. **Servlet和JSP**:servlet-api和jsp-api,是...

    hibernate集合的映射

    Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...

    Hibernate集合映射

    在这个主题中,我们将深入探讨Hibernate集合映射的各个方面。 首先,我们来看一下**一对多映射**。在数据库中,如果一个表的记录可以与另一个表的多个记录关联,这种关系就被称为一对多。在Hibernate中,可以通过`...

    Hibernate集合映射与关联关系

    总之,Hibernate集合映射与关联关系是数据库设计和Java开发中的核心概念。正确理解和运用这些关系,能够帮助我们更高效地管理数据,简化代码,提升系统的可维护性和扩展性。在实际项目中,还需要根据具体需求进行...

    hibernate映射枚举类型

    Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...

    hibernate-validator数据校验jar集合

    7. **与其他框架集成**:`Hibernate Validator`不仅可以在独立应用中使用,还能够与Spring、Hibernate ORM等框架无缝集成。 `classmate`库是`Hibernate Validator`的一部分,它负责处理类型相关的元数据,如泛型...

    hibernate中文文档 HTML格式

    2. 集合映射:如List、Set、Map等集合类型的映射。 3. 异步操作:通过使用Hibernate的异步API,可以在后台线程中执行数据库操作,不阻塞主线程。 4. 事件监听:可以注册监听器来响应特定的ORM事件,如对象的保存、...

    hibernate list集合映射

    1. **元素类型**:在Hibernate中,List集合可以包含任何Java对象,这些对象可以是基本类型,也可以是自定义的复杂类型。 2. **关联关系**:List集合通常与数据库的一张表进行关联,通过外键字段建立一对一、一对多...

    hibernate的使用心得

    在本文中,我们将深入探讨Hibernate的使用心得,特别是关注HQL(Hibernate Query Language)查询的技巧和优化策略。HQL是Hibernate框架中用于操作对象关系映射的SQL方言,它允许开发者以面向对象的方式来编写查询,...

    Hibernate映射集合属性List

    这里的"List"是Java集合框架中的一个接口,用于存储一组有序的元素,而在Hibernate中,它常用来映射数据库中的数组、列表或集合类型的数据。本文将详细探讨如何使用Hibernate映射集合属性List,以及如何让Hibernate...

    hibernate中文文档

    9. **集合映射(Collection Mapping)**:Hibernate可以映射Java集合类型到数据库的关联关系,如List、Set、Map等,方便处理一对多、多对一、多对多的关系。 10. **Callback事件**:Hibernate提供了一些生命周期回...

    hibernate中文参考文档pdf

    15. **其他高级特性**:包括实体继承、多态性、集合映射、复杂类型、时间/日期处理、SQL特定功能等。 这本参考手册全面覆盖了Hibernate 3.6.10的关键特性和用法,是Java开发者深入理解和应用Hibernate不可或缺的...

    Hibernate中文Api最新参考文档

    本文档主要围绕Hibernate的最新中文API进行详细阐述,帮助开发者深入理解和高效使用Hibernate。 在Hibernate中,核心概念包括实体(Entities)、会话(Sessions)、事务(Transactions)、查询(Queries)等。首先...

Global site tag (gtag.js) - Google Analytics