`
周英能
  • 浏览: 187974 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

hibernate之OneToMany和ManyToOne

 
阅读更多

hibernate一对多,多对一双向关联

假设一个老师对应多门课程,一门课程只对应一个老师

 

 

@OneToMany(mappedBy="teacher",fetch=FetchType.LAZY,cascade={CascadeType.MERGE,CascadeType.REMOVE})
private Set<Course> courses = new HashSet<Course>();

@ManyToOne(cascade={CascadeType.MERGE})
@JoinColumn(name = "teacher_id")
private Teacher teacher;

对于一对多,如果要在一的这一端维持关系,则需要删除mappedBy配置,如下

 

 

@OneToMany(fetch=FetchType.LAZY,cascade={CascadeType.MERGE,CascadeType.REMOVE})
@JoinColumn(name = "teacher_id")
private Set<Course> courses = new HashSet<Course>();

@ManyToOne(cascade={CascadeType.MERGE})
@JoinColumn(name = "teacher_id",insertable=false,updatable=false)
private Teacher teacher;

 这种方案得不到什么优化,反而会产生大量的update语句,推荐使用对一种方案

 

分享到:
评论
1 楼 876583190 2013-10-28  
[align=center][size=small][img][url][url][flash=200,200]
[flash=200,200][flash=200,200][url][img][img][list]
[*]
引用
[/list][/img][/img][/url][/flash][/flash]
[/flash][/url][/url][/img][/size][/align]

相关推荐

    Hibernate- oneToMany using annotation

    在Java的持久化框架Hibernate中,`@OneToMany`注解是用于表示一对多关系的,这种关系常见于数据库设计中的父表与子表之间。在这个主题中,我们将深入探讨如何在实体类中使用`@OneToMany`注解以及其在实际项目中的...

    HIBERNATE 一对多 onetomany

    在Java持久化框架Hibernate中,"一对一"(one-to-one)和"一对多"(one-to-many)是两种常见的关联关系映射。本教程将详细讲解如何在Hibernate中实现"一对多"关联,并通过实际例子加深理解。 首先,让我们了解什么...

    HIbernate-OneToMany:HIbernate-OneToMany Annotations 在实体之间具有 PKFK 关系

    在Java的持久化框架Hibernate中,一对一(OneToOne)、一对多(OneToMany)和多对多(ManyToMany)的关系映射是常见的实体关联方式。本篇文章将深入探讨标题中提到的"一对一"(OneToMany)注解在实体之间的主键外键...

    Hibernate-OneToMany-Advance-udemy

    在这里,`@OneToMany`和`@ManyToOne`注解分别用于定义一对多和多对一的关系。`mappedBy`属性指定了逆向关联的属性名称,`cascade`属性则定义了级联操作。 三、一对多关联的使用 在实际应用中,一对多关联可以方便地...

    hibernate对象三状态及OneToOne&OneToMany&ManyToMany

    以上就是关于Hibernate对象三状态以及OneToOne、OneToMany和ManyToMany关系映射的详细讲解,希望对你理解Hibernate的工作原理和实践有所帮助。在实际开发中,根据业务需求灵活运用这些关系映射,能够有效地管理和...

    hibernate所有开发包

    1. OneToMany/ManyToOne:一对多和多对一关系映射,使用@OneToMany和@ManyToOne注解,@JoinColumn定义关联字段。 2. ManyToMany:多对多关系映射,使用@ManyToMany和@JoinTable注解。 3. OneToOne:一对一关系映射,...

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

    例如,对于一对多关系,可以在父类上使用@OneToMany,子类上使用@ManyToOne,通过mappedBy指定关联的属性。 三、实际应用 在"hibernate-father-son"这个例子中,可能包含两个实体类,如"Father"和"Son","Father...

    hibernate_reference中文版和Hibernate中文手册

    7. 关联映射:包括一对一(@OneToOne)、一对多(@OneToMany)、多对一(@ManyToOne)、多对多(@ManyToMany)四种关系映射,以及级联操作(cascade)和懒加载(lazy)策略。 8. 自动更新和插入:Hibernate的自动...

    hibernate实战(Java Persistence With Hibernate.pdf )

    包括Entity、Id、Basic、OneToOne、OneToMany、ManyToOne、ManyToMany等关系映射的使用,以及Entity生命周期管理(持久化、瞬时、游离状态)和事务管理。 四、查询语言HQL与Criteria API Hibernate提供了自己的查询...

    hibernate-release-5.2.10

    7. **关联映射**:包括一对一(@OneToOne)、一对多(@OneToMany)、多对一(@ManyToOne)、多对多(@ManyToMany)关系的映射,方便处理对象间的关联关系。 8. **延迟加载**:Hibernate的懒加载策略可以在需要时才...

    Hibernate distribution and annotation

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

    Hibernate_code

    例如,@OneToOne用于一对一关系,@OneToMany和@ManyToOne用于一对多和多对一,而@ManyToMany则用于多对多关系。 7. **Hibernate_inheritance**:这部分代码可能涉及了如何在Hibernate中实现对象继承的数据库映射,...

    JAVA数据类型与Hibernate的类型映射

    在实际应用中,Hibernate还提供了一些高级映射机制,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)的关系映射。这些映射通过@OneToOne、@OneToMany、@ManyToOne和@...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day1_day2_day3_day4

    3.3 关联映射:@OneToOne、@OneToMany、@ManyToOne、@ManyToMany注解用于处理不同类型的关联关系,包括一对一、一对多、多对一和多对多。 四、Hibernate操作数据库 4.1 Session接口:Session是与数据库进行交互的...

    hibernate源码release-4.1.4.Final版

    其他如@Column、@OneToMany、@ManyToOne等注解则用于定义字段映射关系。 四、缓存机制 Hibernate支持一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存)。一级缓存默认开启,提高性能但需注意...

    spring jpa操作数据库 级联数据 hibernate

    - "JPA之OneToMany和ManyToOne处理"的MHT文件深入讨论了这两种关联的处理方法。 - "SpringHibernateJPA0300_BoneCP.rar"可能包含了一个使用 BoneCP 作为连接池的Spring JPA与Hibernate项目。 - "School.rar"和...

    Hibernate之第2解之-hibernate_demo_1_annotation

    【标题】"Hibernate之第2解之-hibernate_demo_1_annotation"主要涵盖了使用Hibernate框架进行对象关系映射(ORM)的实践,特别是基于注解的方式。在这个教程中,我们将深入探讨如何利用Java注解来配置Hibernate实体...

    Hibernate框架jia包

    Hibernate通过`&lt;class&gt;`标签(XML映射)或@Entity注解(注解映射)定义实体类,`&lt;id&gt;`表示主键,`&lt;property&gt;`或@Basic对应字段,`&lt;many-to-one&gt;`或@ManyToOne处理一对多关系,`&lt;one-to-many&gt;`或@OneToMany处理多对...

    Hibernate 多数据库支持解决方案

    这可以通过在实体类中使用Hibernate的`@ManyToOne`, `@OneToOne`, `@OneToMany`等注解来控制关联,而不是依赖于数据库的外键约束。 2. **动态加载.hbm.xml文件** - Hibernate允许通过配置文件来动态加载对应当前...

Global site tag (gtag.js) - Google Analytics