![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
从零开始学 Spring Data JPA
文章平均质量分 92
从零开始学 Spring Data JPA
路面烧卖
这个作者很懒,什么都没留下…
展开
-
SpringData JPA 之疑难杂症
SpringData JPA 之疑难杂症1、JPA自动建表不生成外键SpringBoot项目搭配的JPA使用时候,有一对多的关系注解,那么自动会生成外键。外键在有些时候,会导致代码不能走通,我们不想要怎么做。有两种解决方案.1.1、多表关系映射:一对多情况一:单向一对多/多对一,在@JoinColumn内加上@ForeignKey属性配置即可@OneToMany@JoinColumn(name="cid",foreignKey = @ForeignKey(name = "none",value原创 2022-02-05 23:27:03 · 1015 阅读 · 0 评论 -
SpringData JPA 数据表映射
SpringData JPA 数据表映射1、映射注解说明1.配置多表联系注解介绍@OneToOne 一对一映射 targetEntityClass: 指定另一方类的字节码 cascade: 级联操作 CascadeType.MERGE 级联更新 CascadeType.PERSIST 级联保存原创 2021-09-09 19:11:47 · 1688 阅读 · 0 评论 -
SpringData JPA 接口查询
SpringData JPA 接口查询1、SpringData 接口继承结构Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组件扫描的时候自动识别。CrudRepository :是Repository的子接口,提供CRUD的功能PagingAndSortingRepository:是CrudRepository的子接口,添加分页和排序的功能JpaRepository:是PagingAndSortingRepository的子接口,增加了一原创 2021-09-09 19:10:06 · 1123 阅读 · 0 评论 -
SpringData JPA 快速入门
SpringData JPA 快速入门1、SpringData JPA 简介1、Spring Data JPA 认识,官网:https://spring.io/projects/spring-data-jpaSpringData:其实SpringData就是Spring提供了一个操作数据的框架。而SpringData JPA 只是 SpringData 框架下的一个基于JPA标准操作数据的模块,简化操作持久层的代码。只需要编写接口就可以。Spring Data JPA:是 Spring 基于 ORM原创 2021-09-09 19:07:16 · 147 阅读 · 0 评论 -
Hibernate JPA 关联关系
Hibernate JPA 关联关系关联关系从整体上分为单向关联和双向关联:单向关联:只需从一端访问另一端,如教师Teacher可访问学生Student,则Teacher实体需要包含类型为Student的属性双向关联:两端均可互相访问,如教师Teacher可访问学生Student,学生Student也可访问教师Teacher,两个实体均需要包含类型为对方的属性1、一对一关联映射1.1、单向一对一单向1-1:需要在控制关系的一方实体中使用注解 @OneToOne 和 @JoinColumn 标原创 2021-09-09 18:47:55 · 326 阅读 · 0 评论 -
Hibernate JPA 锁机制
Hibernate JPA 锁机制当数据库并发访问的时候为了保证操作的统一性,那么往往会对并发数据的访问做出限制,例如:只允许一个会话处理,这样的机制就称为锁机制,而在JPA之中也支持锁机制的处理,而JPA支持两类锁:悲观锁:假设数据的访问一直都存在有并发,所以悲观锁一直都会存在,主要依靠的是数据库的锁机制乐观锁:假设不会进行并发访问(不会出现同时的数据更新处理)主要是依靠算法来实现的,设置版本号,通过版本号来判断当前的Session能否进行更新在JPA里面专门提供有一个锁的处理模式:javax原创 2021-09-09 18:47:33 · 916 阅读 · 0 评论 -
Hibernate JPA 缓存配置
Hibernate JPA 缓存配置1、一级缓存一级缓存指的是 EntityManager 级的缓存,对于这样的缓存几乎是一直存在的,也就是说只要用户进行JPA的操作,那么就永远都会存在有一级缓存新建数据库视图类和初始化数据@Data@Builder@NoArgsConstructor@AllArgsConstructor@Entity@Table(name = "tb_cache")public class CacheEntity { @Id @GeneratedV原创 2021-09-09 18:46:21 · 1313 阅读 · 0 评论 -
Hibernate JPA 主键策略
Hibernate JPA 主键策略Hibernate JPA 生成主键主要通过:@Id 和 @GeneratedValue 注解实现,其生成规则由 @GeneratedValue 设定@GeneratedValue的源码:@Target({METHOD,FIELD})@Retention(RUNTIME)public @interface GeneratedValue{ GenerationType strategy() default AUTO; String gene原创 2021-09-09 18:44:29 · 1396 阅读 · 0 评论 -
Hibernate JPA 注解分析
Hibernate JPA 注解分析1、常用注解@Entity(必须)应用于实体类,并且使用默认的ORM规则,即 Class 名对应数据库表中表名,Class 字段名即表中的字段名(如想改变这种默认的ORM规则,就要使用 @Table 来改变 Class 名与数据库中表名的映射规则,@Column 来改变 Class 字段名与DB中表的字段名的映射规则)元数据属性说明:name(可选):表名下面的代码说明,Customer类对应数据库中的Customer表,其中name为可选,缺省类名即表名原创 2021-09-09 18:40:05 · 786 阅读 · 0 评论 -
Hibernate JPA 复杂查询
Hibernate JPA 复杂查询1、JPQL 语句JPQL全称:Java Persistence Query Language在 EJB2.0 中引入的 EJB 查询语言 (EJB QL),Java 持久化查询语言 (JPQL) 是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将 SQL 语法和简单查询语义绑定在一起,使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的 SQL。在使用 JPQL 的时候整体的处理效果与SQL的语法形式是几乎相同的,而后在JPA执行原创 2021-09-09 18:39:00 · 1076 阅读 · 0 评论 -
Hibernate JPA 快速入门
Hibernate JPA 快速入门1、ORM 的介绍1、什么是 ORM?ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射。简单的说:ORM 就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的(就是说ORM会把数据表映射成一个Java对象,使开发人员可以原创 2021-09-09 18:37:41 · 453 阅读 · 0 评论