`
fisherhe
  • 浏览: 53091 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Hibernate学习笔记(对象-集合关系映射)

阅读更多

hiberntae源数据映射:

集合关系映射的实现:

list/set/map 这里的集合类型中保存的是(Integer,String,Date等),不保存实际的持久化对象。

首先来看set:

如下面l例子所示:

//比如有user这个持久化类,其中有favorates这样一个set集合类型
public class User {
	private Integer u_id;
	private String userName;
	private Set<String> favorates = new HashSet<String>();

	public Set<String> getFavorates() {
		return favorates;
	}

	public void setFavorates(Set<String> favorates) {
		this.favorates = favorates;
	}
	 public Integer getU_id() {
 	 return u_id;
 }
	 public void setU_id(Integer u_id) {
	  this.u_id = u_id;
 }
	 public String getUserName() {
  	return userName;
 }
 	public void setUserName(String userName) {
  	this.userName = userName;
 }
}

     

//配置文件user.hbm.xml如下:<hibernate-mapping package="com.fisher">
 <class name="User" table="t_user">
  <id name="u_id" column="f_user_id" type="integer">
   <generator class="identity"></generator>
  </id>
  <property name="userName" type="string" column="f_userName"></property>
  <set name="favorates" table="t_favorates" ><!--建立一个表用于保存favorates-->
   <key column="fk_favorate_id"></key><!--这里的key代表的是t_favorates中的外键,它是要引用user类,并指向user表中的主键u_id-->
   <element type="string" column="favorate"></element><!--set集合中的元素-->
  </set>
 </class>

 

再来看看关于list集合的映射关系:

在user类中加上list集合属性 

//GET,SET方法我就没写了
public class User {
	private Integer u_id;
	private String userName;
	private Set<String> favorates = new HashSet<String>();
	private List<String> interestings = new ArrayList<String>();
}

     新加入的list属性在xml文件中的配置如:

	<list name="interestings" table="t_intst" >
			<key column="fk_intst_id"></key>
			<index column="f_intest_index"></index>
			<element type="string" column="f_intst"></element>
		</list><!--配置和set相似,不过多了一个index标签,因为list集合是有序的,那么f_intest_index和fk_intst_id将作为联合外键方式来指向user类中的主键-->

                                              

 

1
0
分享到:
评论

相关推荐

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    Hibernate学习笔记(1-13)

    【Hibernate学习笔记(1-13)】是传智播客李勇的教程,涵盖了Hibernate框架的基础到进阶内容。Hibernate是一个流行的ORM(对象关系映射)框架,它旨在解决Java面向对象编程与关系型数据库之间的模型不匹配问题,即...

    达内HIBERNATE学习笔记

    根据提供的信息,我们可以总结出以下关于达内HIBERNATE学习笔记的重要知识点: ### 第一章:Hibernate入门 #### 1.1 学习目标 - 理解Hibernate的基本概念。 - 掌握如何使用Hibernate进行开发。 #### 1.2 对象持久...

    马士兵hibernate学习笔记

    ### 马士兵Hibernate学习笔记知识点总结 #### 一、HelloWorld示例 - **目的**:通过简单的示例理解Hibernate的基本使用流程。 - **步骤**: - 创建Java项目`hibernate_0100_HelloWorld`。 - 建立库依赖,包括...

    hibernate学习笔记

    ### hibernate学习笔记 #### 对象持久化 **概述** 对象持久化是指将程序中的对象状态存储到非易失性存储设备(如硬盘)的过程,以便于后续的应用能够读取这些对象的状态信息。这种方式通常用于解决内存数据的短暂...

    hibernate-note学习笔记

    ### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中的对象状态保存到非易失性存储中(如硬盘或磁盘等),以便在系统重启后仍能保留这些状态。这种技术常用于将对象的...

    hibernate 学习笔记3

    标题:Hibernate学习笔记3 描述:本篇笔记深入探讨了Hibernate框架中一对多关系的映射及持久化对象状态管理,结合个人理解与实践经验,旨在为读者提供一份详实的学习资料。 ### 一、一对多关系映射详解 在...

    2023年Java相关课程系列笔记之十四Hibernate学习笔记.doc

    在本篇“2023年Java相关课程系列笔记之十四Hibernate学习笔记”中,我们将深入探讨Java开发中常用的持久化框架——Hibernate。这个框架由梁建全老师主讲,旨在帮助开发者更高效、便捷地进行数据库操作,弥补JDBC在...

    Hibernate学习笔记.pdf

    《Hibernate学习笔记》 在当前的IT行业中,Java开发者经常面临的一个挑战是将面向对象的软件与关系型数据库集成,这一过程可能既复杂又耗时。Hibernate作为一个优秀的Java环境下的对象/关系型数据库映射(ORM)工具...

    Hibernate3 学习笔记.ppt

    Hibernate是一个开源的、成熟且广泛使用的O/R Mapping框架,它提供了一整套对象和关系数据库的映射以及查询机制。Hibernate的优势在于其开源性质、成熟度、社区支持以及自定义API。使用Hibernate,开发者可以遵循...

    Hibernate学习笔记!

    **Hibernate学习笔记** Hibernate是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库的强大工具。本笔记将深入探讨Hibernate的核心概念、配置、实体管理、查询语言以及最佳实践...

    Hibernate 的学习笔记

    ### Hibernate 学习笔记知识点详解 #### 一、Hibernate 简介 - **概念**:Hibernate 是一种“对象/关系映射”(Object/Relational Mapping,简称 ORM)技术,用于解决 Java 应用程序与关系型数据库交互的问题。 - *...

    hibernate学习笔记(全)

    【hibernate学习笔记(全)】是一份全面介绍Hibernate框架的资料,涵盖了从基础到高级的诸多知识点。Hibernate作为Java领域中一个流行的持久化框架,它极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑而...

    Hibernate学习笔记_songjignhao_1

    在本篇 Hibernate 学习笔记中,我们将深入探讨多种关联关系的映射,以及相关概念。Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,简化了数据访问层的开发工作。 首先,...

    Hibernate学习笔记,使用Hibernate做数据层非常方便

    【Hibernate学习笔记,使用Hibernate做数据层非常方便】 在Java开发中,Hibernate是一个非常流行的ORM(Object-Relational Mapping)框架,它简化了数据库操作,将数据库中的表映射为Java对象,使得开发者可以像...

    Hibernate学习笔记(三)

    在本篇“Hibernate学习笔记(三)”中,我们将深入探讨Hibernate这一强大的Java对象关系映射(ORM)框架。Hibernate简化了数据库操作,使得开发者能够更专注于业务逻辑,而不是底层的SQL查询。这篇笔记主要围绕...

Global site tag (gtag.js) - Google Analytics