`

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

阅读更多

一个人(People)有多个地址(Address),例如出生地,工作地。

 

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 Set<Address> addresses = new HashSet<Address>();
	

	public Set<Address> getAddresses() {
		return addresses;
	}
	public void setAddresses(Set<Address> addresses) {
		this.addresses = addresses;
	}
	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;
	}
	
}

 

one2many_without.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="PeopleOne2ManyWithout">
		<id name="id" column="p_id">
			<generator class="native"></generator>
		</id>
		<property name="name"></property>
		<set name="addresses">
			<key column="p_id"></key>
			<one-to-many class="com.hb.po.Address"/>
		</set>
	</class>
	
	<class name="com.hb.po.Address" table="AddressOne2ManyWithout">
		<id name="id" column="a_id">
			<generator class="native"></generator>
		</id>
		<property name="addressDesc"></property>
	</class>
	
</hibernate-mapping>
分享到:
评论

相关推荐

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

    以上就是关于Hibernate单向多对多关联映射的基本介绍和实践。实际应用中,还需考虑性能优化、事务管理、懒加载等问题。通过不断的练习和学习,你可以更熟练地掌握这一重要功能,提升项目开发的效率和质量。

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

    在Java的持久化框架Hibernate中,单向一对多关联映射是常见的数据关系处理方式,尤其是在处理数据库中的实体类和表之间的关系时。本主题主要关注如何使用注解来实现这种映射。Hibernate通过注解使得对象关系映射...

    hibernate多对一单向关联关系实现源码

    以上就是关于Hibernate中实现多对一单向关联关系的基本知识,包括如何在实体类中定义关联、如何进行数据库操作以及如何查询关联对象。这个源代码示例应该提供了更具体的实现细节,你可以通过查看和运行它来深入理解...

    Hibernate学习:单向多对一关联 工程

    通过这个“Hibernate学习:单向多对一关联 工程”,你可以实际操作并理解如何在项目中配置和使用单向多对一关联。这将帮助你更好地掌握Hibernate的关联映射,提升数据库操作的效率和代码的可维护性。项目的源代码`...

    Hibernate单向一对多关联映射(XML版)

    在本主题"Hibernate单向一对多关联映射(XML版)"中,我们将深入探讨如何使用XML配置来实现数据库中一个实体类对应多个实体类的关联关系。 在Hibernate中,一对多关联是一种常见的关系映射类型,它反映了数据库中的...

    Hibernate基于外键的一对多单向关联

    4. **单向关联**:在Hibernate的一对多关联中,如果只有“多”的一方知道“一”的存在,而“一”的一方无法直接访问“多”,就称为单向关联。 5. **映射方式**:映射一对多关联可以通过XML配置文件(hibernate.cfg....

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

    在一对多关联中,通常会通过一个连接表(或称为中间表)来维护两个表之间的关系。这个表通常包含两个外键,分别引用两个参与关联的表。在Hibernate中,这种关联可以通过配置XML映射文件或者使用注解来实现。 接下来...

    hibernate一对多关联映射(单向关联)

    这篇博客文章“hibernate一对多关联映射(单向关联)”将深入讲解如何配置和使用这种映射关系。 在单向关联中,只有一个实体知道另一个实体的存在,也就是说,只有父实体("一"的一端)有对子实体("多"的一端)的...

    Hibernate 系列教程 单向一对多

    本教程聚焦于Hibernate中的单向一对多关联映射,这是一个常见的实体关系模型,广泛应用于各种业务场景。 在数据库设计中,一对多关系意味着一个父表记录可以与多个子表记录相关联。例如,一个学生可以有多个课程,...

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

    在关系型数据库中,两个表之间可能存在多对多关联,意味着一个表中的记录可以对应另一表中的多个记录,反之亦然。例如,学生和课程的关系,一个学生可以选修多门课程,而一门课程也可以被多个学生选修。 在...

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

    单向一对一映射通常涉及一个实体持有另一个实体的引用,而双向一对一映射则意味着两个实体都可以互相引用。这种关联关系在数据库层面通常通过主键外键约束来实现,但在代码层面则通过注解来表达。 首先,我们需要...

    Hibernate一对多单向关联映射

    在关系数据库中,一对多关联意味着一个表中的记录可以对应另一个表中的多个记录。例如,一个班级可以有多个学生,而每个学生只属于一个班级。在Hibernate中,我们可以通过配置XML映射文件或使用注解来实现这种关联。...

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

    本篇文章将详细讲解如何利用Hibernate的注解实现基于连接表的单向一对多关联。 首先,理解一对多关联:在数据库设计中,一对多关联意味着一个实体(表)可以与多个其他实体(表)相对应。例如,一个学生可以有多个...

    hibernate多对多单向关联

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

    Hibernate单向关联代码示例

    这里我们先讨论单向一对多关联,它是最常见的关联类型之一,一个实体可以拥有多个其他实体实例。例如,一个部门可以有多个员工,但员工并不知道属于哪个部门,这就是单向关联。 **单向一对多关联配置:** 1. **...

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

    3. `@JoinColumn`: 定义一对一或一对多关系中的外键字段,这里用在`@JoinTable`中,表示多对多关系的连接表中外键的属性。 在上述代码中,`Student`实体有一个`courses`集合,它包含了与之关联的所有`Course`实体。...

    hibernate一对多,多对一,一对多双向关联

    本主题将主要聚焦在一对一和一对多关联。 2. **关联的方向性:** 关联可以是单向或双向的。单向关联只能从一个实体访问另一个,而双向关联允许两个实体之间互相访问。 3. **@OneToOne, @OneToMany, @ManyToOne ...

    Hibernate 一对多外键单向关联

    这里的`many-to-one`元素表示Address与Person的一对多关联,column属性指定了外键列的名称,class属性指定了Person实体的全限定类名,cascade属性可以指定级联操作。 在实际使用中,可以通过Hibernate的Session接口...

Global site tag (gtag.js) - Google Analytics