`

Hibernate 单向多对一关联(使用中间表)

阅读更多

 

People.java

 

/**
 * 
 */
package com.hb.po;

import java.util.HashSet;
import java.util.Set;

/**
 * @author dudong0726
 *
 * @date 2011-11-9 上午10:51:17
 *
 */
public class People {

	private long id;
	private String name;
	private Address address;
	
	
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	
	
	
	
}

 

 

Address.java

 

/**
 * 
 */
package com.hb.po;

/**
 * @author dudong0726
 *
 * @date 2011-11-9 上午10:51:48
 *
 */
public class Address {

	private long id;
	private String addressDesc;
	
	
	public String getAddressDesc() {
		return addressDesc;
	}
	public void setAddressDesc(String addressDesc) {
		this.addressDesc = addressDesc;
	}
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	
}

 

many2one_with.hbm.xml

 

<?xml version="1.0"?>
<!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.hb.po.People" table="peoplemany2onewith">
		<id name="id" column="p_id">
			<generator class="native"></generator>
		</id>
		<property name="name"></property>
		<join table="people_addressmany2one" optional="true">
			<key column="p_id" unique="true"></key>
			<many-to-one name="address" column="a_id" not-null="true"></many-to-one>
		</join>
	</class>
	
	<class name="com.hb.po.Address" table="addressmany2onewith">
		<id name="id" column="a_id">
			<generator class="native"></generator>
		</id>
		<property name="addressDesc"></property>
	</class>
</hibernate-mapping>
 
分享到:
评论

相关推荐

    hibernate 单向多对多关联映射练习

    2. **关联表的生成**:在多对多关联中,通常需要一个中间表来存储双方的关联信息。由于是单向关联,这个表由Hibernate自动创建,无需在实体类中显式声明。中间表通常包含两列,分别对应两个实体的主键。 3. **关联...

    Hibernate基于连接表的一对多单向关联

    标题 "Hibernate基于连接表的一对多单向关联" 涉及的是数据库对象关系映射(ORM)框架Hibernate中的一个重要概念。在Java开发中,Hibernate是广泛使用的工具,它允许开发者将Java类与数据库表进行映射,简化了数据...

    hibernate单向多对多映射(XML版)

    本主题聚焦于"hibernate单向多对多映射",特别是在XML配置文件中的实现。在这个过程中,我们将探讨多对多关系的原理,以及如何在Hibernate中通过XML配置文件来定义这种关系。 首先,我们需要理解多对多关系的概念。...

    hibernate单向多对多映射(注解版)

    - 数据库层面:多对多关系需要一个中间连接表,Hibernate通过`@JoinTable`自动创建。 - 级联操作:`cascade`属性可以控制操作的传播,比如当删除一个学生时,是否应该同时删除其选修的所有课程。 - 清理关联:由于是...

    hibernate多对多单向关联

    在多对多关联中,通常会有一个中间表来存储两个实体类的关联信息,这个中间表由Hibernate自动创建或者由开发者自定义。中间表通常包含两个外键,分别对应两个实体类的主键。在单向关联中,这个中间表可能只在源实体...

    hibernate多对多关联映射(单项关联)

    总的来说,这篇博客和相关代码示例为开发者提供了一个理解和实现Hibernate中多对多单向关联的起点,帮助他们更好地处理复杂的数据库关系映射。学习和实践这部分内容对于提升Java后端开发能力,特别是使用Hibernate...

    hibernate5_ManyToMany多对多单向维护

    在Hibernate中,实现多对多关联通常需要创建一个中间表来存储两个实体之间的关联信息。然而,"单向维护"意味着在一个实体类中定义了关联,而在另一个实体类中没有对应的引用。这有助于简化模型,减少冗余,但也需要...

    Hibernate多对多单向关联(annotation/xml)

    本篇将详细讲解如何使用Hibernate实现多对多单向关联,包括注解(Annotation)和XML配置方式。 一、多对多关联的基本概念 多对多关联意味着一个实体可以与多个其他实体关联,反之亦然。例如,学生和课程的关系,一...

    hibernate核心,一对多,多对多映射讲解,看了就完全搞明白了

    可以创建Student类和Course类,两者之间通过一个中间表(如StudentCourse表)建立关联,表示学生与课程之间的多对多关系。 使用Hibernate配置关联的好处包括: - 自动化数据持久化:无需手动编写SQL语句,简化开发...

    Hibernate多对多关联关系demo

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本示例"Hibernate多对多关联关系demo"将深入探讨如何在实际开发中...

    Hibernate关于注解的一对多,多对多,一对一

    2. **@JoinTable**:多对多关系通常需要一个中间表来存储双方的关联,`@JoinTable`用来定义这个中间表,包括它的名字、连接的列名等。 ```java @Entity public class User { @ManyToMany @JoinTable(name = "user...

    Hibernate教程13_关系映射之多对多单向关联

    通过查看源码,你可以学习如何在实际项目中配置和使用多对多单向关联。 总之,理解并掌握Hibernate中的多对多单向关联对于开发复杂的Java应用至关重要。这不仅简化了数据库操作,还使得对象模型更加符合业务逻辑。...

    hibernate一对多与多对一

    本篇文章将详细讲解"hibernate一对多与多对一"的关系映射概念,以及如何在实际开发中进行配置和使用。 首先,我们来看一下“一对多”关系。在现实世界中,这种关系可以对应到例如一个班级有多个学生,或者一个人...

    Hibernate 一对一,一对多,多对多例子

    3. **多对多关联(Many-to-Many)**:多对多关联需要一个中间表来存储双方的关联信息,可以使用`@ManyToMany`注解,同时通过`@JoinTable`定义连接表的详细信息,包括连接字段和关联实体的引用。多对多关联的集合通常...

    Hibernate关联关系总结

    本篇文章将深入探讨Hibernate中的三种主要关联关系:一对一、一对多和多对多。 **一对一关联(One-to-One)** 一对一关联在现实生活中很常见,例如一个人只有一个身份证。在Hibernate中,这种关联可以通过`@...

    Hibernate表间关联ppt课件.ppt

    本课件主要讲解了Hibernate中不同类型的表间关联,包括一对一、一对多、多对多的映射方式以及主键生成策略。 1. 主键生成策略: - `assigned`:由用户手动指定主键值。 - `increment`:由Hibernate内部递增,适用...

    hibernate 多对多操作

    4. **中间表与关联表**: 在多对多关系中,通常需要一个中间表来存储两个实体的主键,以表示它们的关联。Hibernate默认会自动生成这个中间表,但也可以手动定义其结构。 5. **双向关联**: 多对多关系可以是单向或...

    hibernate的关联映射

    - **中间表关联**:多对多关联通常需要一个中间表来存储两个实体的连接信息。在映射文件中,可以使用`&lt;many-to-many&gt;`标签,指定关联的实体类和中间表的列名。 ```xml &lt;!-- User映射 --&gt; ``` - **双向关联*...

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

    本文将深入探讨Hibernate的关联映射学习,包括一对多、多对一、一对一等多种关系映射的方式。 首先,我们来看一下“一对多”(One-to-Many)的映射关系。在Hibernate中,这种关系通常用在一个实体可以拥有多个子...

Global site tag (gtag.js) - Google Analytics