前段时间用到了一对一级联保存的情况,在网上查了好多资料,现在主要总结如下:
一 : 一般说一对一都有两种情况,一种是两张表使用同一主键,我现在说的是第二种外键关联的情况;
两个表Student, card Student的主键是是card 的唯一外键,不多说了,配置如下:
1 Student 主表映射文件中:
<one-to-one name="card" class="com.xxx.entity.bean.Card" property-ref="stuid" cascade="save-update"></one-to-one>
card 表映射文件中:
<many-to-one name="student" class="com.xxx.entity.bean.Student" unique="true" outer-join="true" cascade="save-update">
<column name="stuid" length="20" not-null="true" />
</many-to-one>
2 bean类
public class Card implements java.io.Serializable {
private Student student;
get,set方法
}
public class Card implements java.io.Serializable {
private Card card;
get,set方法
}
3 action保存
Student stu = new Student();
Card card = new Card();
stu.setCard(card);
card.setStudent(stu);
dao.save(stu);
这样就可以级联保存card了
我这里只是大体写了点,当然应该还有其他的属性
4 注意:
在card类里只可以有student的对象属性,不可以有简单属性
像这样 private String stuid; 如果这样配的话
<many-to-one name="student" class="com.xxx.entity.bean.Student" unique="true" outer-join="true" cascade="save-update" insert="false" update="false">
<column name="stuid" length="20" not-null="true" />
</many-to-one>
就必须要加上里面的红色部分,而且级联插入的时候card的stuid为空。
分享到:
相关推荐
在Java持久化框架Hibernate中,一对多(One-to-Many)、多对一(Many-to-One)、级联(Cascading)、加载(Loading)和反转(Inversing)是关系映射的重要概念,它们对于理解如何在数据库和对象之间有效地管理关联至...
在数据库设计中,实体之间的关系主要包括一对一、一对多、多对多等几种类型。而在ORM(对象关系映射)框架Hibernate中,通过不同的注解或者XML配置来表示这些关系。其中,`many-to-one`(多对一)关系是较为常见的一...
当我们对一个实体对象进行操作时,可以设置级联属性,让这些操作自动传播到与之相关联的其他对象,从而减少代码的冗余和复杂性。接下来,我们将详细探讨Hibernate的级联操作,包括增、删、改这三种主要操作。 1. ...
在Hibernate的hbm.xml文件中,一对一关系通过<one-to-one>标签,一对多关系通过、、或标签来定义。需要详细指定实体类名、主键列名以及关联的外键列名。 2. 注解配置: 在实体类上直接使用@OneToOne、@OneToMany等...
在Java的持久化框架Hibernate中,一对一(One-to-One)关系映射是一种常见的实体关联方式。基于外键的One-to-One映射是其中的一种实现方式,它通过在一方或双方实体的表中添加外键来建立关联。接下来,我们将深入...
总结,Hibernate的级联和反转特性对于一对多关系的管理至关重要,它们可以简化开发过程,提高数据操作的效率。通过合理配置,可以确保对象关系的正确同步,并利用JUnit进行测试以确保功能的正确性。在实践中,应根据...
在一对一关联的映射中,Hibernate提供了两种方式:外键映射和主键映射。外键映射是通过在主表映射文件中使用`one-to-one`元素,而从表映射文件中使用`many-to-one`元素来实现。主键映射则是两个实体类的主键相互关联...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例。下面将详细介绍Hibernate中如何进行一对一...
在Hibernate中,"one-to-one"(一对一)关联是一种常见的关系映射类型,表示两个实体之间存在一对一的对应关系,就像一个人只能有一个护照,或者一辆车只能属于一个人一样。 一、一对一关系的配置 1. **注解配置**...
在深入探讨Hibernate中的一对一(One-to-One)主键双线关联机制之前,我们首先需要理解几个核心概念:Hibernate框架、实体关系映射以及主键关联的基本原理。Hibernate是Java平台下的一款开源对象关系映射(ORM)框架...
在处理一对多、多对一等关联关系时,Hibernate提供了级联操作功能,使得对主表的增删改查能够自动影响到关联的从表。本主题将深入探讨"hibernate级联增删改查",特别是针对"t_card主表"和"t_person从表"的关系。 ...
本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,比如一个人只有一个身份证,或者一个公司的总部只有一个。在Hibernate中,设置一对一关联关系可以帮助我们更好地管理和操作...
**hibernate框架一对一关联测试案例详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据。本篇我们将深入探讨Hibernate中的一对一...
本实例将深入探讨Hibernate中的三种基本关联关系:一对一(One-to-One)、一对多(One-to-Many)以及多对多(Many-to-Many)的实现方式。 1. **一对一关联**: 一对一关联通常出现在两个实体之间存在唯一对应关系...
在给出的例子中,有四个表:A、AA、B和BB,它们之间存在一对多(one-to-many)和一对一(one-to-one)的关系。例如,A表与AA表是一对多关系,而A表与B表是一对一关系,B表与BB表也是一对多关系。 在Hibernate的映射...
在 Hibernate 中,级联操作(Cascade)和反向属性(Inverse)是管理对象关系的重要概念,特别是在处理一对多(One-to-Many)或多对一(Many-to-One)关系时。 **级联操作(Cascade)** 级联操作定义了当主对象被...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系映射方式,用于表示两个实体之间一对一的对应关系。本篇主要探讨的是基于主键(Primary Key)的双向关联映射,这在实际项目中非常常见...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联查询是一种常见的关系映射方式,用于表示两个实体之间一对一的依赖关系。这种关联通常在数据库中通过外键或者主键来实现。本文将深入探讨基于外键的一对一...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,它表示两个实体类之间的一种一对一的关系。在这种关系中,一个实体类的实例对应另一个实体类的唯一实例。在...
**一、Hibernate一对一映射简介** 在Java编程中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者将数据库操作转化为面向对象的方式。在数据表之间,有一种常见的关联关系是一对一(One-to-One),即...