`
crazycat03
  • 浏览: 175546 次
  • 性别: Icon_minigender_2
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

hibernate 一对一(one to one)级联保存

阅读更多

前段时间用到了一对一级联保存的情况,在网上查了好多资料,现在主要总结如下:

 

一  : 一般说一对一都有两种情况,一种是两张表使用同一主键,我现在说的是第二种外键关联的情况;

 

两个表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为空。

 

 

 

 

 

分享到:
评论
1 楼 liuye 2009-05-08  
OneToOne还是少用为好,Lazy加载不起作用

相关推荐

    Hibernate 一对多、多对一、级联、加载、反转

    在Java持久化框架Hibernate中,一对多(One-to-Many)、多对一(Many-to-One)、级联(Cascading)、加载(Loading)和反转(Inversing)是关系映射的重要概念,它们对于理解如何在数据库和对象之间有效地管理关联至...

    hibernate many-to-one(多对一)及 cascade(级联).doc

    在数据库设计中,实体之间的关系主要包括一对一、一对多、多对多等几种类型。而在ORM(对象关系映射)框架Hibernate中,通过不同的注解或者XML配置来表示这些关系。其中,`many-to-one`(多对一)关系是较为常见的一...

    Hibernate的级联操作(增,删,该)

    当我们对一个实体对象进行操作时,可以设置级联属性,让这些操作自动传播到与之相关联的其他对象,从而减少代码的冗余和复杂性。接下来,我们将详细探讨Hibernate的级联操作,包括增、删、改这三种主要操作。 1. ...

    Hibernate one-to-many / many-to-one关系映射

    在Hibernate的hbm.xml文件中,一对一关系通过&lt;one-to-one&gt;标签,一对多关系通过、、或标签来定义。需要详细指定实体类名、主键列名以及关联的外键列名。 2. 注解配置: 在实体类上直接使用@OneToOne、@OneToMany等...

    hibernate中基于外键的one2one

    在Java的持久化框架Hibernate中,一对一(One-to-One)关系映射是一种常见的实体关联方式。基于外键的One-to-One映射是其中的一种实现方式,它通过在一方或双方实体的表中添加外键来建立关联。接下来,我们将深入...

    hibernate 级联(cascade和inverse)一对多

    总结,Hibernate的级联和反转特性对于一对多关系的管理至关重要,它们可以简化开发过程,提高数据操作的效率。通过合理配置,可以确保对象关系的正确同步,并利用JUnit进行测试以确保功能的正确性。在实践中,应根据...

    Hibernate的缓存级联查询

    在一对一关联的映射中,Hibernate提供了两种方式:外键映射和主键映射。外键映射是通过在主表映射文件中使用`one-to-one`元素,而从表映射文件中使用`many-to-one`元素来实现。主键映射则是两个实体类的主键相互关联...

    Hibernate one to one详细配置

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是常见的关系映射类型之一。它用于表示两个实体之间一对一的关联关系,即一个实体对应另一个实体的唯一实例。下面将详细介绍Hibernate中如何进行一对一...

    Hibernate应用例子one-to-one

    在Hibernate中,"one-to-one"(一对一)关联是一种常见的关系映射类型,表示两个实体之间存在一对一的对应关系,就像一个人只能有一个护照,或者一辆车只能属于一个人一样。 一、一对一关系的配置 1. **注解配置**...

    Hibernate学习要点_one2one 一对一主键双线关联

    在深入探讨Hibernate中的一对一(One-to-One)主键双线关联机制之前,我们首先需要理解几个核心概念:Hibernate框架、实体关系映射以及主键关联的基本原理。Hibernate是Java平台下的一款开源对象关系映射(ORM)框架...

    hibernate级联增删改查

    在处理一对多、多对一等关联关系时,Hibernate提供了级联操作功能,使得对主表的增删改查能够自动影响到关联的从表。本主题将深入探讨"hibernate级联增删改查",特别是针对"t_card主表"和"t_person从表"的关系。 ...

    hibernate一对一关联关系

    本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,比如一个人只有一个身份证,或者一个公司的总部只有一个。在Hibernate中,设置一对一关联关系可以帮助我们更好地管理和操作...

    hibernate框架一对一测试案例

    **hibernate框架一对一关联测试案例详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据。本篇我们将深入探讨Hibernate中的一对一...

    Hibernate一对一,一对多,多对多实例

    本实例将深入探讨Hibernate中的三种基本关联关系:一对一(One-to-One)、一对多(One-to-Many)以及多对多(Many-to-Many)的实现方式。 1. **一对一关联**: 一对一关联通常出现在两个实体之间存在唯一对应关系...

    关于Hibernate级联删除的问题.doc

    在给出的例子中,有四个表:A、AA、B和BB,它们之间存在一对多(one-to-many)和一对一(one-to-one)的关系。例如,A表与AA表是一对多关系,而A表与B表是一对一关系,B表与BB表也是一对多关系。 在Hibernate的映射...

    Hibernate级联操作.docx

    在 Hibernate 中,级联操作(Cascade)和反向属性(Inverse)是管理对象关系的重要概念,特别是在处理一对多(One-to-Many)或多对一(Many-to-One)关系时。 **级联操作(Cascade)** 级联操作定义了当主对象被...

    hibernate一对一主键关联映射(双项关联)

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联映射是一种常见的关系映射方式,用于表示两个实体之间一对一的对应关系。本篇主要探讨的是基于主键(Primary Key)的双向关联映射,这在实际项目中非常常见...

    Hibernate 一对一关联查询.docx

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联查询是一种常见的关系映射方式,用于表示两个实体之间一对一的依赖关系。这种关联通常在数据库中通过外键或者主键来实现。本文将深入探讨基于外键的一对一...

    hibernate中基于主键的one2one

    在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念,它表示两个实体类之间的一种一对一的关系。在这种关系中,一个实体类的实例对应另一个实体类的唯一实例。在...

    hibernate_one_to_one映射简单入门例子

    **一、Hibernate一对一映射简介** 在Java编程中,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者将数据库操作转化为面向对象的方式。在数据表之间,有一种常见的关联关系是一对一(One-to-One),即...

Global site tag (gtag.js) - Google Analytics