hibernate中Set集合映射

set集合映射三要素(从javabean映射到数据 ORM))

1,集合表(外键表,子表)名称

2.,指定集合表外键<key column="">

3.集合表其他元素<element type="" column="">

  <set name="addressSet" table="user_addressSet" order-by="address ASC">
            	<key column="userId"></key>
            	<element type="string" column="address"></element>
            </set>

 注意存取集合元素时 要new

但是 这种写法更好

	private int id;
	private String name;
//	private Set<String> addressSet;//数据库中不会存这一条
	private Set<String> addressSet=new HashSet<String>();//推荐 这样写  简化代码书写

  

public void test()
	{
		Session session=sessionFactory.openSession();
		Transaction tx=session.beginTransaction();
		User user=new User();
		Set<String> set=new HashSet<String>();
		set.add("蚌埠");
		//对象中的对象 是需要new的
		set.add("宣城");
		user.setName("ss");
		user.setAddressSet(set);
		session.save(user);
		tx.commit();
		session.close();
	}

  

时间: 2024-08-01 22:47:00

hibernate中Set集合映射的相关文章

hibernate中对象集合的保存

一.在java web设计中经常使用对象进行操作,在hibernate中对象集合的保存(一对多) 1需要进行如下步骤: 1) 设计数据表关系 2)引入jar包,需要注意引入数据库connector 3)写实体类 4)配置映射文件和hibernate.cfg.xml 2例子如下: 员工和部门的关系,多个员工属于一个部门,一个部门有多个员工.可以在员工表上设置一个外键解决一对多的关系. 2.1)创建表 CREATE TABLE employee( id INT PRIMARY KEY AUTO_IN

Hibernate中的一对一映射关系

Hibernate中的一对一映射关系有两种实现方法(一对一关系:例如一个department只能有一个manager) I使用外键的方式 步骤:1在一对一关联的持久化类中互相添加对方对象属性,   例如在department中添加private manager manager属性:   department代码如下: package com.atguigu.hibernate.one2one.foreign; public class Department { private Integer d

hibernate中的组件映射

组件映射 1 项目:hibernate_1100_component 2 对象关系:一个对象是另外一个对象的一部分 3 数据库表:一张表 4 annotation: @ Embeddable @Embbeded 对象模型 Husband(id,name,wife) Wife(name,age) Annotation: 在Husband的wife属性上建立注解 @Embedded 表明该对象是从别的位置嵌入过来的,是不需要单独映射的表. 这种方式生成的表为husband(id,name,wifen

hibernate中多表映射关系配置

1.one-to-many一对多关系的映射配置(在一的一方实体映射文件中配置) <!-- cascade属性:级联操作属性 save-update: 级联保存,保存客户时,级联保存客户关联的联系人 delete:级联删除,删除客户时,级联删除客户关联的联系人 all:级联保存+级联删除 --> <!-- inverse属性:设置是否不维护关联关系 true:不维护关联 false(默认值):维护关联 --> <!-- 一对多 --> <set name="

Hibernate中的继承映射

1.继承映射 继承映射分为两种情况:简单继承映射和继承映射. 在简单继承映射中,每个子类都要写一个映射文件. 在继承映射中,只使用一个映射文件.继承映射分为三种情况: 所有子类映射到一张表 需要使用鉴别器字段,不符合数据库设计原则 每个类映射到一张表 父类映射到一张表,插入一条子类信息,需要两条sql,父子表之间有外键约束 每个类映射到一张表,父类不映射表 必须使用uuid作为主键类型,所以bean中主键对应的属性不能是int类型 2.简单继承映射 <?xml version="1.0&q

Hibernate中一对一关联映射/组件映射

Hibernate映射:一对一关联 1.按照外键映射 2.按照主键映射 组件映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射

【Hibernate步步为营】--最后的集合映射

上篇文章详细讨论了组合对象映射的原理,它其实指的是如何将对象模型中的组合关系映射到关系模型中,它是通过使用Hibernate提供的<component>标签来实现的,并需要在该标签中添加对应组合对象的属性,有关组合对象的映射请查看笔者的上篇文章.该篇文章来详细讨论下集合的映射关系,Java的集合有四种分别是Set.Map.List和普通集合,在开发时往往需要将这些集合转化为对应的关系模型,这种集合映射的实现过程就是我们今天要讨论的话题. 一.集合映射 1.1 集合小介 集合映射也是基本的映射,

菜鸟学习Hibernate——一对多关系映射

Hibernate中的关系映射,最常见的关系映射之一就是一对多关系映射例如学生与班级的关系,一个班级对应多个学生.如图: Hibernate中如何来映射这两个的关系呢? 下面就为大家讲解一下: 1.创建实体类Classes和实体类Student Classes.java package com.bjpowernode.hibernate; import java.util.Set; public class Classes { private int id; private String nam

NHibernate3剖析:Mapping篇之集合映射基础(3):List映射

系列引入 NHibernate3.0剖析系列分别从Configuration篇.Mapping篇.Query篇.Session策略篇.应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本号. 假设你还不熟悉NHibernate.能够高速阅读NHibernate之旅系列文章导航系列入门,假设你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧. NHibernate专题:http://kb.cnblogs.c