hibernate的多对一,一对多,多对多,一对一怎么理解?

问题描述

hibernate的多对一,一对多,多对多,一对一怎么理解?

是多个字段对应一个字段,一个字段对应多个字段,多个字段对应多个字段?还是多个对象对应一个对象,一个对象对应多个对象,多个对象对应多个对象.

在一对一的表中为什么是有外键的要设计成many-to-one?无外键的设计成non-to-one?

解决方案

就是字面意思,一个key可以对应另一张表的多个字段,就好像身份对应城市一样

时间: 2024-10-29 19:09:37

hibernate的多对一,一对多,多对多,一对一怎么理解?的相关文章

Hibernate(6)—— 一对多 和 多对多关联关系映射(xml和注解)总结

俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习!涉及的知识点总结如下: One to Many 映射关系 多对一单向外键关联(XML/Annotation) 一对多单向外键关联(XML/Annotation) 懒加载和积极加载 一对多双向外键关联(XML/Annotation) Many to Many 映射关系 多对多单向外键关联(XML/Annotation) 多对多双向外键关联(XML/Annotation) set的inverse元素详解 问题小结 关联关系的优缺点 多

【hibernate框架】一对多(多对一)双向CRUD-Cascade1

下面对一对多(多对一)的关联关系的CRUD进行测试. 这里用的是注解Annotation User.java: package cn.edu.hpu.one2many; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.T

Hibernate之关联关系映射(一对多和多对一映射,多对多映射)

~~~接着之前的Hibernate框架接着学习(上篇面试过后发现真的需要学习一下框架了,不然又被忽悠让去培训.)~~~ 1:Hibernate的关联映射,存在一对多和多对一映射,多对多映射: 1.1:一对多和多对一映射,举例说明: 学生和老师: 一个老师可以教多个学生 [一对多映射] 多个学生可以被一个老师教[多对一映射] 部门与员工: 一个部门有多个员工[一对多映射] 多个员工属于一个部门[多对一映射] 1.2:多对多,举例说明: 项目和开发员工:[双向一对多即多对多映射] 一个项目有多个开发

hibernate文档对于一对多关联的一些疑问

问题描述 引用 解决方案 其实更多的考虑是面向对象的特性,一种对现实世界的一种自然模拟,其实在很多时候,一对多 多对多都可以做出来,但是你建模总得有个最佳方案.比如你举的例子PERSON 1:N ADDRESS 这其实最直观的对生活中现实模拟,倒不是真的考虑到易用性.解决方案二:说白了 就是one -two - many 例如 : 一个人 有多个朋友 ,人 是一个对象 ,朋友 也是对象.

hibernate注解方式,一对多,让多的一方维护

问题描述 hibernate注解方式,一对多,让多的一方维护 有一个house房屋表,有一个图片表house picture一对多,我想让房屋表在增加的时候,图片表也自动增加,现在是图片表内的houseid进不去,房屋表@onetomany(.....mapped by=""house"")图片表@manytoone@joincolimn(name=""housed"")这时图片表中的外键houseid无法自动得到,. 还是不

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

上次的博文中 Hibernate从入门到精通(四)基本映射我们已经讲解了一下基本映射和相关概念,接下来 我们会讲稍微复杂点的映射--关系映射. 关系映射分类 关系映射即在基本映射的基础上处理 多个相关对象和多个相关表之间联系的映射.关系映射从对应关系的角度可以分为如下七种类型:一对一单向关联 一对一双向关联 一对多单向关联 多对一单向关联 一对多双向关联 多对多单向关联 多对多双向关联 接下来博客,我们会分别讲解一下这七种关系映射.今天我们只讲其中的一对一单向关联. 一对一 单向关联 一对一单向

Hibernate从入门到精通(六)一对一双向关联映射

在上次的博文Hibernate从入门到精通(五)一对一单向关联映射中我们讲解了一下一对一单向关联映射, 这次我们继续讲解一下与之对应的一对一双向关联映射. 一对一双向关联 与一对一单向关联映 射所不同的的是在一对一双向关联中,不但在一个对象(Person)中存在另一个对象(IdCard)的引用,而在另一 个对象(IdCard)中也存在对该对象(Person)的引用,这样即可以在加载该对象(Person)的时候找到另一个对象 (IdCard),也可以在加载另一个对象(IdCard)的时候找到该对象

【hibernate框架】一对多(多对一)双向CRUD-Fetch2

继续对Fetch注解进行测试 User.java: package cn.edu.hpu.one2many; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persi

【hibernate框架】一对多(多对一)双向CRUD-关于delete1

如果没有关联关系,平常我们使用save.get.update.delete方法即可对实体对象进行增删改查,但是一旦实体对象有关联关系的时候,就不能直接使用save.get.update.delete方法了,就要进行一系列的语句拆分和组合. 牵扯到对一个实体对象做操作,是否要对关联的另外一个实体对象做操作. 这里来探讨一下删除delete"多对一"中"一"这一方的问题: User.java: package cn.edu.hpu.one2many; import ja