hibernate-Hibernate中的双向、单向关联

问题描述

Hibernate中的双向、单向关联

Hibernate中的双向、单向关联,这里的“方向”指的是什么?二者区别是什么?从理论上怎么讲?
理论上,单向双向的“方向”指的是什么?实际数据库中记录上单向、双向会有什么不同?

时间: 2024-09-14 09:45:22

hibernate-Hibernate中的双向、单向关联的相关文章

Java的Hibernate框架中的双向主键关联与双向外键关联_java

一.双向主键关联双向的主键关联其实是单向一对一主键关联的一种特殊情况,只不过要在关联对象的两端的映射文件中都要进行<one-to-one>的配置,另外还要在主映射的主键一端采用foreign外键关联属性. 这里同样使用Person和IdCard来讨论,一个人对应着一个唯一的身份证,而且一个身份证也唯一映射着一个人,所以这就产生了双向的关联关系,Person的主键同样也是IdCard的主键,分别是主键的同时也是外键,这种关联关系成为双向一对一映射,表现到关系模型中可如下图: 图中的两个表采用了主

【hibernate框架】多对多单向关联(XML实现)

什么情况下是多对多? 举个例子:一个老师可以教多个学生,每个学生也可以被多个老师教.这就是多对多的情况. 在数据库表中这种关系该怎么设计?很简单,加一张中间表. 设计模型: table_student id<int> <pk> table_teacher id<int> <pk> 中间表: T_S t_id<int> <pk,fk2> s_id<int> <pk,fk1> 比如老师2教学生1,在中间表中就存2,

【hibernate框架】多对一单向关联(XML实现)

一个组有多个用户,一个用户只能属于一个组. 使用XML来实现多对一单项关联 Group.java: package cn.edu.hpu.many2one; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; public class Group { private int id;

【hibernate框架】多对多单向关联(Annotation实现)

什么情况下是多对多? 举个例子:一个老师可以教多个学生,每个学生也可以被多个老师教.这就是多对多的情况. 在数据库表中这种关系该怎么设计?很简单,加一张中间表. 设计模型: table_student id<int> <pk> table_teacher id<int> <pk> 中间表: T_S t_id<int> <pk,fk2> s_id<int> <pk,fk1> 比如老师2教学生1,在中间表中就存2,

【hibernate框架】多对一单向关联(Annotation实现)

一个组有多个用户,一个用户只能属于一个组. 使用Annotation注解来实现多对一单项关联 Group.java: package cn.edu.hpu.many2one; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="t_grou

Hibernate多对一外键单向关联(Annotation配置)

package edu.xaut.hibernate; import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table; @Entity@Table(name="t_group")public class Group {    

Java的Hibernate框架中一对多的单向和双向关联映射_java

一.一对多单向关联映射 一对多关系的对象模型在日常生活中也经常看到,就拿学生和班级来说,一个班级里有多个学生,所以班级和学生的关系是一对多的关系,映射到对象模型中,如下图: 对象模型说明了这种一对多的关系是由一的一端来维护的,那么映射成关系模型就是一个班级字段下面会有多个学生,这样就形成了一对多的关系,通过班级能够查询获得学生信息,对应的关系模型如下图: 1.基本配置 有了对象模型接下来就让它们映射为对应的关系代码,在进行关系映射时需要在一的一端添加<one-to-many>标签,另外还需要在

Hibernate学习(五)一对多单向关联映射

在上一篇博客<一口一口吃掉Hibernate(四)--多对一单向关联映射>中,介绍了多对一的关联映射,今天就反过来说一下一对多的单向关联映射. 可能有人会对这2篇博客的题目有点混淆不清,跟日常说的关系有点不同.我们日常说的比如父子关系,夫妻关系都是说的双向关系,而现在讨论的则是单向关系,所以也就有了多对一和一对多的说法. 二者的关系其实很简单,只是角度不同而已.比如说学生和班级的关系.如果从学生角度来看,是多对一的关系.而从班级角度来看,则是一对多的关系.说法很简单,但是在对象和关系的建立却是

Hibernate从入门到精通(十)多对多单向关联映射

上一篇文章Hibernate从入门到精通(九)一对多双向关联映射中我们讲解了一下关于一对多关联映射的 相关内容,这次我们继续多对多单向关联映射. 多对多单向关联映射 在讲解多对多单向关联映 射之前,首先看一下相关类图和代码,具体如下: public class Role { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id;

Hibernate从入门到精通(七)多对一单向关联映射

上次的博文Hibernate从入门到精通(六)一对一双向关联映射中我们介绍了一下一对一双向关联映射,本 次博文我们讲解一下多对一关联映射 多对一单向关联映射 多对一关联映射与一对一关联映射类 似,只是在多对一的指向端可以存在多个对象,在指向端加载的时候,同时加载被指向端. 多对一和 一对一的异同 对比一对一单向关联映射和多对一单向关联映射,两者的相同之处在于在指向端被加载 的时候,指向端会被一起加载进来,这一点从如下类的结构图和代码中看出.(以下只给出多对一相关图示和 代码,一对一图示和代码参考