hibernate多对一关联映射
关联映射的本质:
* 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用
<many-to-one>会在多的一端加入一个外键,指向一的一端,这个外键是由<many-to-one>
中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致
<many-to-one>标签的定义示例:
* <many-to-one name="group" column="groupid"/>
理解级联的含义?
* 是对象的连锁操作
一:实体类
package com.tao.hibernate.many2one;
public class Group {
private Integer id;
private String name;
public Group() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.tao.hibernate.many2one;
public class User {
private Integer id;
private String name;
private Group group;
public User() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
}
二:映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.tao.hibernate.many2one">
<class name="Group" table="t_group">
<id name="id" column="id" type="integer">
<generator class="native">
</generator>
</id>
<property name="name" column="name" />
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.tao.hibernate.many2one">
<class name="User" table="t_user">
<id name="id" column="id" type="integer">
<generator class="native">
</generator>
</id>
<property name="name" column="name" />
<many-to-one name="group" column="groupId"/>
</class>
</hibernate-mapping>
三:测试类:
package com.tao.hibernate.many2one;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import com.tao.hibernate.HibernateUtils;
public class TestMain {
Session session = HibernateUtils.getFactory().openSession();
@Test
public void testSave() {
Group group = new Group();
group.setName("second group");
User user = new User();
user.setName("Tao2");
user.setGroup(group);
Transaction ts = session.beginTransaction();
ts.begin();
session.save(group);
session.save(user);
ts.commit();
}
@Test
public void testLoad() {
Session session = HibernateUtils.getFactory().openSession();
User user = (User) session.load(User.class, 1);
System.out.println(user.getName());
System.out.println(user.getGroup().getName());
}
}
分享到:
相关推荐
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系数据库模型映射方式,用于处理两个实体之间存在多个实例互相关联的情况。本文将深入探讨Hibernate如何实现多对多关联映射,并通过实际例子解析相关...
在Java的持久化框架Hibernate中,多对多关联映射是一种常见的关系模型,它用于处理两个实体类之间存在多个对应关系的情况。这篇博客"hibernate多对多关联映射(单项关联)"深入探讨了如何在Hibernate中实现这种映射...
本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...
hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate关联映射的...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射方式之一,尤其在处理两个实体之间存在唯一对应关系时非常有用。本篇将重点讲解如何实现一对一主键关联映射的单向关联,并通过一个...
在Java的持久化框架Hibernate中,一对多关联映射是一种常见的关系映射方式,它用于表示一个实体(如用户)可以拥有多个关联实体(如订单)。在这个场景中,"一"通常代表父实体,"多"代表子实体。这篇博客文章...
本话题主要探讨的是Hibernate中的一对一关联映射,这是一种将数据库中的单个表映射到Java对象模型中单个类的关系映射技术。通过注解方式实现一对一关联映射,可以避免传统的XML配置文件,使得代码更加简洁、易读。 ...
本练习主要关注的是Hibernate中的单向多对多关联映射,这是一种常见的关系数据库设计模式,用于表示两个实体间复杂的关系。 在多对多关联中,两个实体类可以相互拥有多个实例,但只在一个方向上建立关联。例如,...
**标题:Hibernate多对一关联映射** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作。"多对一"关联映射是Hibernate中的一种常见关系类型,用于表示实体...
6. Hibernate 多对一外键单向关联: 在多对一关联中,多个实体(如 Order)可以关联到一个实体(如 Customer)。在 Order 实体类中,会有 `many-to-one` 元素指向 Customer。 7. Hibernate 多对一连接表单向关联:...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系数据库模型映射方式。这种关联通常发生在两个实体之间,且每个实体都只有一个对应的实例。本篇文章将详细探讨双向一对一主键关联映射...
**标题:** Hibernate一对一关联映射 **描述:** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。一对一(OneToOne)关联映射是Hibernate提供的一种对象关系映射策略,它...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系数据库模型映射方式之一。本文将详细解析如何实现一对一唯一外键(Uniquely Foreign Key,UFK)关联映射,特别是在单向关联的情况下的具体...
在本篇关于“Hibernate3.2(六)多对一关联映射”的主题中,我们将深入探讨在Java Persistence API(JPA)框架下,如何利用Hibernate实现多对一的关联映射。Hibernate作为JPA的一个实现,是Java开发中常用的ORM...
本示例将深入探讨 Hibernate 3.x 中的关联映射,以帮助开发者更好地理解和应用这一关键技术。 关联映射是Hibernate中的核心概念之一,它允许我们将数据库中的表关系映射到对象之间的关系。主要的关联类型有以下几种...
本篇主要探讨的是Hibernate中的一对多关联映射,它允许一个实体对象对应数据库表中的多个行。在实际业务场景中,这种映射模式非常常见,例如一个用户可以拥有多个订单,一个部门可以包含多个员工等。 首先,我们来...
在Java的持久化框架Hibernate中,一对多关联映射是一种常见的关系映射方式,它用于表示一个实体(如用户)可以拥有多个子实体(如订单)的情况。在本篇文章中,我们将深入探讨如何实现双向关联的一对多映射,以及在...
总结,Hibernate的一对多关联映射提供了处理实体间多对一关系的能力,既可实现单向关联,也可实现双向关联。通过合理配置,可以优化数据加载策略,进行级联操作,并方便地进行数据的保存和查询。在实际开发中,理解...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系数据库模型。这篇文章将深入探讨两种主要的一对一关联映射方式:主键关联(Primary Key Join)和唯一外键关联(Foreign Key Join)。我们...