Spring Data Jpa(Hibernate) OneToMany
这个其实非常简单。假设有topic 和 subscriber两个实体类,不考虑关联关系,则连个类的代码如下:
/**
* Created by csonezp on 2017/8/31.
*/
@Entity
@Table
public class Topic implements Serializable{ private static final long serialVersionUID = -7752115605498533357L; @Id
@GeneratedValue
private Integer id; private String name; }
/**
* Created by csonezp on 2017/8/31.
*/
@Table
@Entity
public class Subscriber implements Serializable {
private static final long serialVersionUID = 5105575565495750284L;
@Id
@GeneratedValue
private Integer id; private String email;
}
非常简单的两个类。
现在要做一个onetomany关联,先来个最简单的,这时候topic代码如下:
@Entity
@Table
public class Topic implements Serializable{ private static final long serialVersionUID = -7752115605498533357L; @Id
@GeneratedValue
private Integer id; private String name; @OneToMany(cascade = {CascadeType.ALL},fetch=FetchType.EAGER,orphanRemoval=true)
List<Subscriber> subscribers; }
在topic类中添加红色的部分即可。cascade = {CascadeType.ALL} 是用来设置级联操作的,设置ALL就是所有Topic的操作都会同时更新Subscriber;fetch=FetchType.EAGER就是关闭lazy查询,拿到topic对象的时候就已经把subscriber都查出来了;orphanRemoval=true意思是在topic里移除subscriber时将subscriber记录也删除,而不是只指删除关联关系。
这里是建立关联表的形式做的onetomany映射,还可以用添加关联字段的方式。
@Entity
@Table
public class Topic implements Serializable{ private static final long serialVersionUID = -7752115605498533357L; @Id
@GeneratedValue
private Integer id; private String name; @OneToMany(cascade = {CascadeType.ALL},fetch=FetchType.EAGER,orphanRemoval=true)
@JoinColumn(name = "topic_id")
List<Subscriber> subscribers; }
加红色的这一行代码,就不会生成中间表,而是在subscriber表中加入一个topic_id字段来做关联了。
Spring Data Jpa(Hibernate) OneToMany的更多相关文章
- spring data jpa hibernate jpa 三者之间的关系
JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服 ...
- Spring Boot 2.x 之 Spring Data JPA, Hibernate 5
1. Spring Boot常用配置项 基于Spring Boot 2.0.6.RELEASE 1.1 配置属性类 spring.jpa前缀的相关配置项定义在JpaProperties类中, 1.2 ...
- Spring data jpa hibernate:查询异常java.sql.SQLException: Column '列名' not found
使用spring boot,jap,hibernate不小心的错误: java.sql.SQLException: Column '列名' not found: 这句话的意思是:找不到此列 为什么会出 ...
- Spring Data JPA Hibernate @QueryHints
另一个实例: http://leobluewing.iteye.com/blog/2032396 : 本文内容来源:https://blog.csdn.net/gavinchen1985/articl ...
- maven springmvc spring data jpa hibernate sqlserver demo
搭建费了半天费,各种报错,缺少各种jar包,不兼容等,给那些没弄过的一个参考. 点击我下载
- 转:spring data jpa、 hibernate、 jpa 三者之间的关系
原文链接:spring data jpa. hibernate. jpa 三者之间的关系 spring data jpa hibernate jpa 三者之间的关系 JPA规范与ORM框架之间的关系是 ...
- Spring Data JPA Tutorial Part Nine: Conclusions(未翻译)
This is the ninth and the last part of my Spring Data JPA tutorial. Now it is time to take a look of ...
- Spring Data JPA 和MyBatis比较
现在Dao持久层的解决方案中,大部分是采用Spring Data JPA或MyBatis解决方案,并且传统企业多用前者,互联网企业多用后者. Spring Data JPA 是Spring Data ...
- javaweb各种框架组合案例(六):springboot+spring data jpa(hibernate)+restful
一.介绍 1.springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之间 ...
随机推荐
- Spring boot——logback 基础使用篇(一)
1 简单日志配置 spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logb ...
- 【Django】request 处理流程(转)
Django 和其他 Web 框架的 HTTP 处理的流程大致相同,Django 处理一个 Request 的过程是首先通过中间件,然后再通过默认的 URL 方式进行的.我们可以在 Middlewar ...
- cesium 获取点击点的高程
var picklHandler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);picklHandler .setInputAct ...
- java 基础知识及Servlet基础
- Go语言学习笔记(六)net
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 net import "net" net包提供了可移植的网络I/O接口,包括TCP/IP.UD ...
- jQuery源码分析-03扩展工具函数jQuery.extend
// 扩展工具函数 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控制 ...
- 方伯伯的玉米田[SCOI2014]
题目描述 方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐.方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得 ...
- MongoDB3.4安装配置以及与Robomongo1.1的连接——解决Authentication Failed导致的不能连接问题
本文环境:win10(64)+MongoDB(3.4.5)+Robomongo(1.1) 目录: MongoDB的安装 MongoDB的配置 Robomongo的安装以及与MongoDB的连接 一些新 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统一期
学而时习之,不亦说乎,温顾温知新,可以为师矣. 这也是算是一种学习的方法和态度吧,经常去学习和总结,在博客园看了很多大神的文章,写下一点对于ABP(ABP是“ASP.NET Boilerplat ...
- TASKCTL产品功能清单-转载
功能分类 功能描述 一级 二级 关系 调度控制 作业依赖关系调度 作业依赖关系调度是调度最基本的功能,指作业间具有顺序的运行,比如:a.b.c三个作业,只有当a完成后才运行b,b完成才能运行c 作业并 ...