@ManyToOne和@OneToMany 注解
(1)ManyToOne(多对一)单向:不产生中间表,但可以用@Joincolumn(name=" ")来指定生成外键的名字,外键在多的一方表中产生!
(2)OneToMany(一对多)单向:会产生中间表,此时可以用@onetoMany @Joincolumn(name=" ")避免产生中间表,并且指定了外键的名字(别看 @joincolumn在一中写着,但它存在在多的那个表中)
(3)OneToMany ,ManyToOne 双向(两个注解一起用的):如果不在@OneToMany中加mappedy属性就会产生中间表,此时通常在@ManyToOne的注 解下再添上注解@Joincolumn(name=" ")来指定外键的名字(说明:多的一方为关系维护端,关系维护端负责外键记录的更新,关系被维护端没有权利更新 外键记录)!(@OneToMany(mappedBy="一对多中,多中一的属性")出现mapby为被维护端|||默认为延迟加载)
用例:@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="child_id")
private OrderChild orderChild;
@OneToMany(mappedBy="orderChild",fetch=FetchType.LAZY,cascade={CascadeType.MERGE})
@NotFound(action=NotFoundAction.IGNORE)//代表可以为空,允许为null
private List<OrderChildGoods> goodsList;
hibernate中@ManyToOne默认是立即加载,@OneToMany默认是懒加载
但是如果加上了@NotFound之后设置的fetch=FetchType.LAZY是不起作用的,也就是设置@NotFound后变为了立即加载eager
@ManyToOne和@OneToMany 注解的更多相关文章
- hibernate映射数据库时@ManyToOne和@OneToMany
第一次用hibernate自动生成表,涉及到多个表的外键,用到了@OneToMany和@ManyToOne注解碰到了几个错误. 首先声明一个基础,@OneToMany和@ManyToOne两个注解没有 ...
- hibernate注解@manytoone,@onetomany
一.一对多(@onetomany) 1.单向一对多模型 假设通过一个客户实体可以获得多个地址信息.对于一对多的实体关系而言,表结构有两种设计策略,分别是外键关联和表关联. (1) 映射策略---外键关 ...
- Hibernate 补充 ManyToOne、OneToMany、OneToOne的使用例
1.前言 Hibernate 为程序员提供一种级联操作,在编写程序时,通过 Hibernate 的级联功能可以很方便的操作数据库的主从表的数据, 我们最常用的级联是级联保存和级联删除. ...
- many-to-one和one-to-many的配置比较
many-to-one配置: <many-to-one name="dailyCatalog" column="daily_catalog_id" cla ...
- Hibernate的单向OneToMany、单向ManyToOne
单向OneToMany 一个用户有多张照片,User----->Images是一对多关系,在数据库中Images维护一个外键useid 1.在映射关系的主控方Image这边,我们什么都不做.(为 ...
- spring+hibernate实体类注解详解(非原创) + cascade属性取值
@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(nam ...
- hibernate 双向一对多关系(Annotation mappedBy注解理解)
1.@mappedBy 属性简单理解为设定为主表(OneToMany方)(这只是我个人理解,上面文章中也有提到过) 所以另一端(ManyToOne)则需要设置外键@JoinColumn(name=&q ...
- hibernate注解(转)
一.实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entity public class Flight impl ...
- Hibernate的应用与注解开发
Hibernate注解可以帮助我们大大简化hbm映射文件的配置,学习记录之. 先看示例: 1 package com.webShop.domain; 2 import java.io.Serializ ...
随机推荐
- 【转】TCP、UDP数据包大小的限制
来自:https://blog.csdn.net/caoshangpa/article/details/51530685 1.概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层 ...
- log.error(msg)和log.error(msg,e)的显示区别
log.error(msg): [2017-10-18 11:31:07,652] [Thread-7] (CmsCtlDataUploadFileExchange.java:50) ERROR co ...
- C语言链表实现
#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" typedef s ...
- spring mvc请求参数中文乱码解决方案
POST 请求 在web.xml中加上增加过滤器 <filter> <filter-name>encodingFilter</filter-name> <fi ...
- Linux学习-linux系统下python升级到python3.6步骤详解,以及遇到的问题解决
说明:一般linux会自带pyhton2.7 1.首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: wget http://www.python.org/ftp/python/ ...
- 使用rem的原理,62.5%,根据屏幕宽度等比压缩网页
一.前言 我们在编写网页时,往往需要兼顾网页在不同屏宽情况下的显示 而有时为了省事,没时间写新的页面,也为了兼容考虑,这就需要使用等比压缩了 等比压缩的核心是rem 二.正文 (一).rem的使用 ...
- 基于python的Appium自动化测试的坑
真的感谢@虫师 这位来自互联网的老师,让我这个原本对代码胆怯且迷惑的人开始学习自动化测试. 一开始搜索自动化测试的时候,虫师的博客园教程都是在百度的前几位的,我就跟着虫师博客园里面的教程学习.后来学s ...
- android应用程序monkey压力测试(模拟器或真机)
首先需要安装一个模拟器: 前置条件: 1.jdk环境配置 2.eclipse下载安装(直接解压即可) 3.网站上下载ADT: 由于国内禁止google的浏览,所以需要自己上网找资源,下面这个网站有比较 ...
- 二分图 and code1170 双栈排序
6.6二分图 二分图是这样一个图: 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边直接相连接. 无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶 ...
- W-D-S-DDR
要把下载到nandflash里面的程序(大于8KB的时候)拷贝到链接地址,故要初始化DDR,才能够使用DDR. ??? 开发板上电后要初始化DRAC,以及DDR,然后把程序拷贝到50000000出运行 ...