`
zhangjiajun1988
  • 浏览: 4522 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate 关联映射个人略述

阅读更多

单向多对一关联:只有在一边配置关联映射。。而另外一边不管。。

            案例(一个父亲拥有多个孩子)

父亲类

 

public class Father implements Serializable {

	
	private static final long serialVersionUID = -8390304441273897145L;

	public Father(){
		
	}
	//父亲ID
	private Integer fatherId;
	//父亲姓名
	private String fatherName;

	public Integer getFatherId() {
		return fatherId;
	}

	public void setFatherId(Integer fatherId) {
		this.fatherId = fatherId;
	}

	public String getFatherName() {
		return fatherName;
	}

	public void setFatherName(String fatherName) {
		this.fatherName = fatherName;
	}
}

一方: 配置关联映射

<hibernate-mapping package="net.jsp.orm">
	<class name="Father" table="FATHER">
		<id name="fatherId" column="FATHERID" type="java.lang.Integer">
			<generator class="identity" />
		</id>
		
		<property name="fatherName" column="FATHERNAME" type="java.lang.String" />
	</class>
</hibernate-mapping>

 

孩子类

public class Child implements Serializable {

	private static final long serialVersionUID = 6750561728903621833L;
	
	public Child(){
		
	}
	private Integer childId;
	
	private String childName;
	//多对一
	private Father father;

	public Integer getChildId() {
		return childId;
	}

	public void setChildId(Integer childId) {
		this.childId = childId;
	}

	public String getChildName() {
		return childName;
	}

	public void setChildName(String childName) {
		this.childName = childName;
	}

	public Father getFather() {
		return father;
	}

	public void setFather(Father father) {
		this.father = father;
	}
}

 多方:配置关联映射

<hibernate-mapping package="net.jsp.orm">
	<class name="Child" table="CHILD">
		<id name="childId" column="CHILDID">
			<generator class="identity" />
		</id>
		
		<property name="childName" column="CHILDNAME" />
		<!-- 多方的配置   -->
		<many-to-one name="father" class="Father" column="FATHERID" />
	</class>
</hibernate-mapping>

 双向多对一关联:即在父亲类也添加一个孩子对象。。那么概念即(一个孩子或许有多个父亲[养父...]) 。配置如同上面的多方配置关联。。。。

 

 

单向一对多关联:

         如同上代码。。将 Child的 Father 对象去掉。 然后再Father  类中添加 set<Child> childs属性 即可。一方配置关联映射如下:

<hibernate-mapping package="net.jsp.orm">
	<class name="Father" table="FATHER">
		<id name="fatherId" column="FATHERID" type="java.lang.Integer">
			<generator class="identity" />
		</id>
		
		<property name="fatherName" column="FATHERNAME" type="java.lang.String" />
		<set name="childs" >
			<key column="fatherId" />
			<one-to-many class="Child"/>
		</set>
	</class>
</hibernate-mapping>

 

双向一对多。就组成了。多对多的关联。。。

 

 

多对多关联 时。应当数据库有个中间关联表  比如用户表跟信息表。。一个用户可以发多条信息 ,一条信息可以响应给多个用户。。这样如果有张中间表就更直观一些。。。

 

 

<!-- 用户方的关联配置 -->
<hibernate-mapping>
<class name="net.jsp.orm.User" table="[USER]">
	<id name="uid" column="UID">
	<generator class="identity" />
	</id>
	<property name="uname" column="UNAME" type="string"
		not-null="true" length="50"
	/>
	<property name="upass" type="string">
		<column name="UPASS" not-null="true" length="50" />
	</property>
	<set name="messages" table="TEMP_USER_MSG">
		<key column="TEMP_USERID" />
		<many-to-many class="net.jsp.orm.Message" column="TEMP_MSGID" />
	</set>
                ..............
</class>
</hibernate-mapping>

 

<!-- 消息方的关联配置 -->
<hibernate-mapping>
<class name="net.jsp.orm.Message" table="[Message]">
	<id name="msgId" column="MSGID">
	<generator class="identity" />
	</id>
	<property name="msgContent" column="MSGCONTENT" type="string"
		not-null="true" 
	/>
    <set name="users" table="TEMP_USER_MSG">
		<key column="TEMP_USERID" />
		<many-to-many class="net.jsp.orm.User" column="TEMP_MSGID" />
	</set>
               ........
</class>
</hibernate-mapping>

 

分享到:
评论

相关推荐

    hibernate关联映射详解

    hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate关联映射的...

    hibernate关联映射实例

    本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中至关重要的概念。 1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,...

    hibernate关联映射的作用和常用属性解释

    ### Hibernate关联映射的作用与常用属性详解 #### 关联映射概述 在对象关系映射(Object Relational Mapping,简称ORM)技术中,Hibernate作为Java领域内非常成熟且功能强大的框架之一,它允许开发者将Java类映射...

    Hibernate关联映射

    在 Hibernate 映射中,需要使用 `one-to-one` 元素,并设置 `constrained="true"`,表明该类的主键由关联类生成。 3. Hibernate 一对一连接表单向关联: 这种关联方式是通过额外的连接表来实现一对一关系的。连接...

    hibernate多对多关联映射

    在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...

    Hibernate关联映射.rar

    本教程“Hibernate关联映射.rar”聚焦于Hibernate中的关联映射,特别是多对一和一对多的关系映射,非常适合初学者了解和实践。 首先,我们要理解什么是关联映射。在数据库中,表与表之间存在各种关系,如一对一、一...

    Hibernate集合映射与关联关系

    本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合关系"、"student与class的多对一"以及"一对多映射"的概念。 首先,让我们理解一下Hibernate中的集合映射。在关系型数据库中,一个实体...

    Hibernate一对一主键关联映射(双向关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系数据库模型映射方式。这种关联通常发生在两个实体之间,且每个实体都只有一个对应的实例。本篇文章将详细探讨双向一对一主键关联映射...

    hibernate 全面学习->hibernate 关联映射学习

    总的来说,这个压缩包提供了丰富的Hibernate关联映射的学习资源,涵盖了从基础到进阶的各种关联类型。通过学习这些示例,你将能够熟练掌握如何在Java项目中使用Hibernate进行数据持久化,并灵活地处理各种数据库关系...

    Hibernate 关联关系映射分类

    在深入探讨Hibernate关联关系映射分类之前,我们首先简要回顾一下Hibernate框架的基本概念。Hibernate是一种持久层框架,主要用于Java应用程序中的对象关系映射(ORM),它能够将面向对象的数据模型转换为数据库中的...

    Hibernate双向一对一关联映射(注解版)

    综上所述,Hibernate双向一对一关联映射是通过注解实现的数据库表之间的关系映射,它提高了代码的可读性和可维护性。正确理解和运用这一技术,对于构建高效、灵活的Java应用程序至关重要。在实际开发中,要结合具体...

    hibernate关联映射详解SSH 多对多,一对多关系对象映射

    在Java的持久化框架Hibernate中,关联映射是至关重要的概念,它允许我们将数据库中的表关系映射到对象之间的关系。SSH(Struts、Spring、Hibernate)是经典的Java Web开发框架,其中Hibernate负责数据访问层,提供了...

    Hibernate 关联映射

    这可能是测试Hibernate关联映射的一个示例项目或者类。通常,这样的测试会包含各种关联映射的实例,如实体类的定义,配置文件或注解,以及测试用例,用于验证关联映射是否按预期工作。 **详细知识讲解:** 1. **一...

    Hibernate关联映射-one to one单向外键关联

    本话题主要探讨的是Hibernate中的一种关联映射方式——一对一(One-to-One)单向外键关联。这种关联模式通常用于两个实体之间存在唯一对应的关系,例如一个用户对应一个唯一的账户。 在Hibernate中,一对一关联可以...

    Hibernate3.x关联映射示例

    **Hibernate 3.x 关联映射详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用面向对象的方式处理数据。Hibernate 3.x 版本是其成熟且广泛使用的版本,提供...

    hibernate的关联映射

    【hibernate关联映射详解】 Hibernate 是一款流行的Java持久层框架,用于简化数据库操作。在Hibernate中,关联映射是实现对象关系映射(ORM)的关键,它允许我们在对象模型和关系数据库之间建立联系。关联映射主要...

    hibernate 关联映射(二) one to one(单向)

    本篇文章将深入探讨Hibernate中的关联映射,特别是One-to-One(一对一)关联,这是一种表示两个实体之间一对一关系的映射方式。我们将通过源码分析和实际例子来理解其工作原理。 ### 一、One-to-One关联概述 在...

Global site tag (gtag.js) - Google Analytics