一对多<class name="Question" table="questions" dynamic-insert="true"dynamic-update="true"><id name="id" column="id"><generator class="native" /></id><property name="title" /><property name="content" /><many-to-one name="user" column="user_id" class="User" /></class>

    <class name="User" table="users"><id name="id"><generator class="native" /></id><property name="name" /><property name="phone" /><set name="questions" table="questions" cascade="save-update"inverse="false"  lazy="false"><key column="user_id" /><one-to-many class="Question" /></set></class>

user和question是一对多,在多的这一方不能设置casecade,如果设置了cascade="save-update",user删除,question因为外键关联就会报错,user也不会被删除。如果设置了cascade="delete",user删除,question也会一块删除。

不设置,user删除,question的外键user_id会置为null。如果不需要级联删除应该不加cascade。不设置的话,创建question,如果新建一个user,并为其设置了user属性,但并不会创建user

多对多

通过创建中间表users_roles 进行关联,删除其中的任何一个,中间表中包含对应id的记录都会被删掉

在user中给role设置 cascade="save-update",可以由新建user、连带着建role,但role里面没设置,就不能由新建role,来建user

<class name="User" table="users"><id name="id"><generator class="native" /></id><property name="name" /><set name="roles" table="users_roles" lazy="false"cascade="save-update">  //如果配置了save-update,则删除role会出现关联错误,所以如果不是必须可以不加casecade<key column="user_id"></key><many-to-many class="Role" column="role_id"></many-to-many></set>
</class>

<class name="Role" table="roles" dynamic-insert="true"dynamic-update="true"><id name="id" column="id"><generator class="native" /></id><property name="name" /><set name="users" table="users_roles" lazy="false"><key column="role_id"></key><many-to-many class="User" column="user_id"></many-to-many></set></class>

转载于:https://www.cnblogs.com/znsongshu/p/10144208.html

hibernate 一对多、多对多的配置相关推荐

  1. Hibernate一对多/多对一关系映射详解及相应的增删查改操作

    以客户与订单的关系为例 1.在实体模型类中绑定两者关系: 客户类: public class Customer {private Integer id;//客户idprivate String nam ...

  2. Hibernate关联关系映射-----双向一对多/多对一映射配置

    转自:http://blog.csdn.net/yifei12315/article/details/6985194 /// Hibernate: /// 双向关联就是有"一对多" ...

  3. hibernate 一对多 多对一 关系表 增删改查大礼包ps二级查也有

    今天来到混元气功 这货大概的意思就是你中有我 我中有你 ps 这里就要说到维护关系 ps写这个用了我一下午--.也是刚刚好复习到这里 顺便就写写 注意:一般都在多方维护关系,至于是用单向还是用多向要看 ...

  4. Hibernate一对多单向关联和双向关联映射方法及其优缺点

    一对多关联映射和多对一关联映射实现的基本原理都是一样的,既是在多的一端加入一个外键指向一的一端外键,而主要的区别就是维护端不同. 它们的区别在于维护的关系不同: 一对多关联映射是指在加载一的一端数据的 ...

  5. Hibernate关联映射(一对多/多对多)

    版权声明:翀版 https://blog.csdn.net/biggerchong/article/details/84340105 3.  Hibernate关联映射 上接Hibernate持久化类 ...

  6. JPA 一对一 一对多 多对一 多对多配置

    1 JPA概述 1.1 JPA是什么 JPA (Java Persistence API) Java持久化API.是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没 ...

  7. Hibernate 关联关系 之 多对多

    Hibernate 关联关系 之 多对多 Hibernate 多对多关联关系 数据库表 entity 实体类 Book Category TreeNode xml 配置 book.hbm.xml ca ...

  8. day 69-70 一对一 一对多 多对一联表查询

    day 69 orm操作之表关系,多对多,多对一多对一/一对多,多对多{类中的定义方法}day691. 昨日内容回顾1. 单表增删改查2. 单表查询API返回QuerySet对象的:1. .all() ...

  9. 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多

    7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...

  10. mybatis的一对一 一对多 多对多

    mybatis的一对一 一对多 多对多 1.表 2.建表语句 order_t表 CREATE TABLE `order_t` ( `id` int(11) NOT NULL, `user_id` in ...

最新文章

  1. 1016 Phone Bills
  2. iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况
  3. 手机号 imsi tmsi_抓取网站访客手机号
  4. python flask 表单数据输出_将数据从HTML表单发送到Flask中的Python脚本
  5. python基础网易_十年Python大牛花了三天总结出来的python基础知识实例,超详细!...
  6. 深度理解python中的元类
  7. linux usb声卡 submit urb,linux usb urb详解
  8. 工作39:注意传参和返回
  9. 【STM32】【STM32CubeMX】STM32CubeMX的使用之五:定时器时基配置及其中断
  10. thinkphp5.0验证码使用
  11. java default类型_java – 带有限定符@Default的ZZZZ类型的不满意依赖项
  12. VMware Linux 共享文件夹 虚拟机无共享文件解决方法
  13. 微信小程序保存canvas绘制的图片到本地,拒绝图片授权后继续授权
  14. 实例集群状态为Fail导致的集群混乱排查和复现
  15. MFC选择目录和多个文件
  16. 人人商城V3配置添加对接威信小程序直播,前后端教程。
  17. 抓包发现tcp会话中老是出现重复的ack和大量的tcp重传——SACK(Selective Acknowledgment, 选择性确认)技术
  18. 怎样让计算机快速开机,怎样快速设置电脑定时自动开机
  19. ESP32 LVGL8.1 ——event 事件 (event 17)
  20. 软考_2021年11月真题

热门文章

  1. linux 程序自启
  2. 后台工具screen
  3. I.MX6 Android 5.1 纯Linux、U-Boot编译
  4. 笨办法学C 练习22:栈、作用域和全局
  5. bzoj 1064 图论
  6. MySQL实时复制成为可能?
  7. 日本推出无人机伞,将推翻手持伞的历史
  8. 滴,这周的福利已掉落,镁客君请你免费骑摩拜
  9. jenkins-为什么要持续集成
  10. kentico中自定义错误页面