今天在看hibernate的帮助文档时,发现一对多,多对多,多对一关系映射中,原来list集合也是可以用的,以前只是在用set,必须要list的时候还进行转化。
hibernate list集合使用 User-Address
User类:
public class User {
private String id;
private String name;
private String password;
private List addressSet;
......
}
Address类:
public class Address {
private String id;
private String address;
private String city;
.....
}
User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.test.bean.User" table="t_user">
<id name="id" type="java.lang.String">
<column name="id" length="128" />
<generator class="uuid"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="tname"></column>
</property>
<property name="password" type="java.lang.String">
<column name="tpassword"></column>
</property>
<!-- order-by="city"
<set name="addressSet" table="t_add" cascade="all" lazy="false" inverse="false">
<key column="userid"></key>
<one-to-many class="com.test.bean.Address" />
</set>
-->
<list name="addressSet" table="t_add" cascade="all" lazy="false" inverse="false">
<key column="userid"></key>
<list-index column="addindex" />
<one-to-many class="com.test.bean.Address" />
</list>
</class>
</hibernate-mapping>
Address.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.test.bean.Address" table="t_add">
<id name="id" type="java.lang.String">
<column name="id" length="128" />
<generator class="uuid"></generator>
</id>
<property name="address" type="java.lang.String">
<column name="address"></column>
</property>
<property name="city" type="java.lang.String">
<column name="city"></column>
</property>
</class>
</hibernate-mapping>
这样就可以正常使用了呢...但是不知道这样做有什么弊端不..?
分享到:
相关推荐
**标题:“Hibernate List集合映射”** 在Java的持久化框架Hibernate中,集合映射是将数据库中的表与Java对象的集合属性关联的过程。...理解和熟练掌握List映射的配置和操作,对于进行高效、稳定的ORM编程至关重要。
此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,并使用@Id注解指定主键字段,可以将一个Java类映射到数据库的一张表。字段则通过@Column注解来指定列名和属性,如长度、...
在Java持久化框架Hibernate中,容器映射技术是将Java集合类(如Set、Map、List等)与数据库中的关联关系进行映射的一种方法。这种技术使得对象之间的复杂关系能够被有效地存储和检索,增强了数据操作的灵活性。下面...
本文将深入探讨Hibernate中的四种主要集合映射类型:Set、List、Array和Map,以及它们在实际开发中的应用场景和配置。 一、Set集合映射 Set集合映射是最常见的映射类型,它不允许重复元素。在Hibernate中,Set通常...
例如,在一个“用户-文章”关系中,如果我们要记录用户发表文章的时间顺序,那么使用List映射就显得尤为重要。List映射通常通过`<list>`标签来实现,其中可以包含`<key>`、`<index>`和`<one-to-many>`等子标签,分别...
在Hibernate的映射文件(.hbm.xml)中,我们通常使用`<set>`, `<list>`, `<map>`等标签来定义集合映射。每个标签都有对应的属性,例如: - `name`: 对象属性名。 - `table`: 所映射的数据库表名。 - `inverse`: ...
在Java的持久化框架Hibernate中,数组映射是一种常见的数据模型转换方式,它允许我们将数据库中的数据以数组的形式存储在Java对象中。本篇将详细探讨`hibernate array 数组映射`的相关知识点,包括其原理、配置、...
这里的"List"是Java集合框架中的一个接口,用于存储一组有序的元素,而在Hibernate中,它常用来映射数据库中的数组、列表或集合类型的数据。本文将详细探讨如何使用Hibernate映射集合属性List,以及如何让Hibernate...
在 Hibernate 中,集合映射是指将 Java 集合类型与数据库表之间的映射关系。常见的集合映射类型有 Set、List、Array、Map 和 Bag 等,每种类型都有其特点和应用场景。 Set 集合映射 Set 集合是 Hibernate 中基础的...
在Java的持久化框架Hibernate中,集合映射是将数据库中的表关系映射到对象模型中的集合类,如List、Set、Map等。这允许我们在Java代码中操作对象集合,而Hibernate负责处理底层的SQL查询和数据存储。本文将深入探讨`...
在 Hibernate 中,映射关系是将数据库表与 Java 类之间的关联方式,使得对象模型可以与关系模型无缝对接。本篇文章将详细探讨 Hibernate 中的多种映射关系。 1. **一对一映射 (One-to-One)** 一对一映射表示两个...
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...
在Java的持久化框架Hibernate中,容器映射技术是一种用于管理对象关系的机制,它使得对象之间的关联可以方便地在数据库中表示。本篇笔记主要探讨了如何使用Hibernate进行容器映射,特别是针对集合类型的映射,如List...
在Hibernate中,集合映射是指将数据库中的表与Java集合对象(如List、Set等)进行关联,方便对一组相关数据进行操作。 "bag"是Hibernate中的一种集合类型,表示无序的、可重复的对象集合。在数据库层面,这通常对应...
在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中...
在给定的文件中,`Hibernate 第二次课.docx` 可能包含了关于 Hibernate 映射和查询的详细讲解,涵盖了如何配置项目、创建实体类、编写映射文件和执行查询等步骤。`第二章mysql.sql` 文件可能是用于配合 Hibernate ...
Hibernate容器映射技术(Set、List、Map)
Hibernate允许我们在集合映射中定义排序规则,使用`@OrderBy`注解指定排序字段和顺序。同时,通过Query对象的`setFirstResult`和`setMaxResults`方法可以实现分页查询。 10. **集合缓存** 为了提高性能,...
在Hibernate中,我们可以使用集合类(如List、Set、Map等)来映射这些关系。例如,一个学生可以有多次成绩记录,这就构成了一个学生到成绩的映射关系,通常我们使用Map来表示这种关系,因为Map能确保每个学生都有...