`
jusescn
  • 浏览: 124895 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate annotation关联关系问题解决

阅读更多

http://www.blogjava.net/wuxj888java/archive/2008/01/03/172504.html

 

最近使用annotation做hibernate映射,有两张表人员(Person)表 和医院(Hospital)表,人员表和医院表是ManyToOne,业务只需要从人员表出发设置不同医院,所以是单向的ManyToOne

在Person表关系定义如下:
@ManyToOne(cascade = { CascadeType.PERSIST,CascadeType.MERGE})
@JoinColumn(name = "HOSPITAL_ID")

但我在后台方法测试时,如果医院信息修改或新建,保存到人员表中,医院信息不会级联更新或新增,级联关系不起作用


我又用hbm.xml方式实验了一下,在Person端加上cascade="save-update",如果医院信息修改或新增,保存人员信息会级联更新或新增到医院表,方式如下:
<many-to-one name="hospital" class="com.Hospital" fetch="select" lazy="false" not-null="true" cascade="save-update">
<column name="HOSPITAL_ID" />
</many-to-one>



后来经别人指点发现我引用的包是
import javax.persistence.CascadeType;
import javax.persistence.Cascade;

而应该使用hibernate annotation包
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

Person表的关联关系应改成
 @ManyToOne()
 @Cascade(value={CascadeType.SAVE_UPDATE})
 @JoinColumn(name = "HOSPITAL_ID")
这样级联更新和新增功能就成功了
分享到:
评论

相关推荐

    hibernate annotation hibernate3

    在Java开发领域,Hibernate作为一种强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本篇将深入探讨Hibernate 3版本中的注解使用,帮助开发者理解如何利用注解进行数据持久化,提高开发效率。 一、...

    hibernate annotation 中文文档

    《Hibernate Annotation 中文文档》是Java开发者们的重要参考资料,它详细介绍了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是一款强大的开源Java持久化框架,它简化了数据库与Java对象之间的...

    Hibernate Annotation 中文文档

    随着技术的发展,Hibernate Annotation逐渐成为主流,因为它提供了更直观、更简洁的方式来映射对象关系模型(ORM)。这篇文档主要讨论的是Hibernate Annotation的使用方法,以及它如何替代传统的XML配置文件(*.hbm....

    Hibernate Annotation库

    Hibernate Annotation库是Java开发中用于简化对象关系映射(ORM)的一个重要组件,它使得开发者能够在Java类上直接使用注解来定义数据库映射,从而避免了传统的XML配置文件。这三个特定的jar包是Hibernate ORM框架中...

    最全的Hibernate Annotation API文档

    在Hibernate中,注解(Annotation)是一种声明式的方法,用于配置实体类、属性以及它们与数据库表之间的映射关系。本文将深入探讨“最全的Hibernate Annotation API文档”中的关键知识点。 一、实体类(Entity) 在...

    Hibernate Annotation 唯一外键一对一双向关联

    通过阅读《Hibernate_annotation_1to1_foreignKey》文档或博客,你可以更详细地了解如何配置和使用这种关联,包括示例代码、注意事项以及可能遇到的问题和解决方案。理解并熟练运用这些知识,能帮助你在使用...

    Hibernate Annotation入门

    **Hibernate Annotation 入门** Hibernate 是一款非常流行的Java对象关系映射(ORM)框架,它允许开发者使用面向对象的方式操作数据库。而Hibernate Annotation是Hibernate的一个重要特性,它通过在Java类和字段上...

    Hibernate Annotation 学习笔记

    《Hibernate Annotation 学习笔记》 在Java的持久化框架中,Hibernate以其强大的功能和易用性成为开发者首选之一。而Hibernate Annotation则是Hibernate提供的一种基于注解的实体映射方式,它极大地简化了传统XML...

    Hibernate_Annotation关联映射

    Hibernate Annotation几种关联映射 一对一(One-To-One) 使用@OneToOne注解建立实体Bean之间的一对一关联。一对一关联有三种情况:(1).关联的实体都共享同样的主键,(2).其中一个实体通过外键关联到另一个实体的主键...

    hibernate annotation api chm文件

    Hibernate Annotation API是Hibernate ORM的一种扩展,允许开发者使用Java注解(Annotations)来定义对象-关系映射。这种API避免了传统的Hibernate XML配置文件,使得ORM配置更加内聚且易于维护。 2. **核心注解**...

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

    在Java的持久化框架Hibernate中,注解是用于对象关系映射(ORM)的一种强大工具,它可以将数据库的表结构与Java类直接关联起来。本文将深入探讨如何使用Hibernate注解实现基于外键的一对多双向关联。我们将通过具体...

    HibernateAnnotation

    ### HibernateAnnotation ...通过上述介绍,我们可以看到HibernateAnnotation技术不仅简化了配置过程,而且提供了一种更加灵活的方式来管理对象与数据库之间的映射关系。这对于提高开发效率和维护性都有着重要的意义。

    Hibernate distribution and annotation

    6. **@OneToMany, @ManyToOne, @OneToOne, @ManyToMany**: 用于定义关联关系,如一对一、一对多、多对多等。 7. **@Temporal**: 用于日期和时间字段的特殊处理,如TIMESTAMP、DATE或TIME。 8. **@Inheritance**...

    Hibernate Annotation 共享主键一对一双向关联

    本文将详细讲解“Hibernate Annotation 中的共享主键一对一双向关联”。 首先,我们需要理解什么是共享主键(Shared Primary Key)。在一对一的关联关系中,如果两个实体共享同一个主键,那么这种关联被称为共享...

    hibernate-annotation

    6. `@OneToMany`, `@ManyToOne`, `@OneToOne`, `@ManyToMany`:这些注解用于描述多对一、一对多、一对一和多对多的关联关系。例如,一个用户可以有多个订单: ```java @Entity public class User { @Id private ...

    hibernate-Annotation.jar

    在Hibernate 3.x版本中,引入了Annotation注解,这是一种元数据的方式,可以替代XML配置文件来描述对象与数据库表之间的映射关系。 **Hibernate Annotation注解** 在Hibernate 3.x之前,对象到数据库的映射通常...

    Hibernate中文文档+hibernate annotation +distribution

    本文将深入探讨Hibernate的核心概念,结合提供的中文文档,以及hibernate-annotation-3.4.0GA和hibernate-distribution-3.3.2.GA的相关资料,为开发者提供详尽的学习资源。 首先,Hibernate中文文档是理解框架基础...

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

    在Hibernate中,我们使用Annotation来描述这种关联关系,以便于框架自动处理数据的存取。 首先,让我们了解在Hibernate中定义注解的方式。`@ManyToOne`用于表示多对一的关系,通常应用在“多”的一方,而`@OneToOne...

    hibernate 中文文档 and _annotation.chm

    《Hibernate中文文档与Annotation》 Hibernate是一款开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。Hibernate允许开发人员将Java对象模型与数据库表进行映射,从而避免了传统的JDBC...

Global site tag (gtag.js) - Google Analytics