一个人(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单向多对多关联映射的基本介绍和实践。实际应用中,还需考虑性能优化、事务管理、懒加载等问题。通过不断的练习和学习,你可以更熟练地掌握这一重要功能,提升项目开发的效率和质量。
在Java的持久化框架Hibernate中,单向一对多关联映射是常见的数据关系处理方式,尤其是在处理数据库中的实体类和表之间的关系时。本主题主要关注如何使用注解来实现这种映射。Hibernate通过注解使得对象关系映射...
以上就是关于Hibernate中实现多对一单向关联关系的基本知识,包括如何在实体类中定义关联、如何进行数据库操作以及如何查询关联对象。这个源代码示例应该提供了更具体的实现细节,你可以通过查看和运行它来深入理解...
通过这个“Hibernate学习:单向多对一关联 工程”,你可以实际操作并理解如何在项目中配置和使用单向多对一关联。这将帮助你更好地掌握Hibernate的关联映射,提升数据库操作的效率和代码的可维护性。项目的源代码`...
在本主题"Hibernate单向一对多关联映射(XML版)"中,我们将深入探讨如何使用XML配置来实现数据库中一个实体类对应多个实体类的关联关系。 在Hibernate中,一对多关联是一种常见的关系映射类型,它反映了数据库中的...
4. **单向关联**:在Hibernate的一对多关联中,如果只有“多”的一方知道“一”的存在,而“一”的一方无法直接访问“多”,就称为单向关联。 5. **映射方式**:映射一对多关联可以通过XML配置文件(hibernate.cfg....
在一对多关联中,通常会通过一个连接表(或称为中间表)来维护两个表之间的关系。这个表通常包含两个外键,分别引用两个参与关联的表。在Hibernate中,这种关联可以通过配置XML映射文件或者使用注解来实现。 接下来...
这篇博客文章“hibernate一对多关联映射(单向关联)”将深入讲解如何配置和使用这种映射关系。 在单向关联中,只有一个实体知道另一个实体的存在,也就是说,只有父实体("一"的一端)有对子实体("多"的一端)的...
本教程聚焦于Hibernate中的单向一对多关联映射,这是一个常见的实体关系模型,广泛应用于各种业务场景。 在数据库设计中,一对多关系意味着一个父表记录可以与多个子表记录相关联。例如,一个学生可以有多个课程,...
在关系型数据库中,两个表之间可能存在多对多关联,意味着一个表中的记录可以对应另一表中的多个记录,反之亦然。例如,学生和课程的关系,一个学生可以选修多门课程,而一门课程也可以被多个学生选修。 在...
单向一对一映射通常涉及一个实体持有另一个实体的引用,而双向一对一映射则意味着两个实体都可以互相引用。这种关联关系在数据库层面通常通过主键外键约束来实现,但在代码层面则通过注解来表达。 首先,我们需要...
在关系数据库中,一对多关联意味着一个表中的记录可以对应另一个表中的多个记录。例如,一个班级可以有多个学生,而每个学生只属于一个班级。在Hibernate中,我们可以通过配置XML映射文件或使用注解来实现这种关联。...
本篇文章将详细讲解如何利用Hibernate的注解实现基于连接表的单向一对多关联。 首先,理解一对多关联:在数据库设计中,一对多关联意味着一个实体(表)可以与多个其他实体(表)相对应。例如,一个学生可以有多个...
在多对多关联中,通常会有一个中间表来存储两个实体类的关联信息,这个中间表由Hibernate自动创建或者由开发者自定义。中间表通常包含两个外键,分别对应两个实体类的主键。在单向关联中,这个中间表可能只在源实体...
这里我们先讨论单向一对多关联,它是最常见的关联类型之一,一个实体可以拥有多个其他实体实例。例如,一个部门可以有多个员工,但员工并不知道属于哪个部门,这就是单向关联。 **单向一对多关联配置:** 1. **...
3. `@JoinColumn`: 定义一对一或一对多关系中的外键字段,这里用在`@JoinTable`中,表示多对多关系的连接表中外键的属性。 在上述代码中,`Student`实体有一个`courses`集合,它包含了与之关联的所有`Course`实体。...
本主题将主要聚焦在一对一和一对多关联。 2. **关联的方向性:** 关联可以是单向或双向的。单向关联只能从一个实体访问另一个,而双向关联允许两个实体之间互相访问。 3. **@OneToOne, @OneToMany, @ManyToOne ...
这里的`many-to-one`元素表示Address与Person的一对多关联,column属性指定了外键列的名称,class属性指定了Person实体的全限定类名,cascade属性可以指定级联操作。 在实际使用中,可以通过Hibernate的Session接口...