JPA
trusause
京东旗下全资控股子公司
展开
-
@SuperBuilder的用法
1、如果想要使用父类的属性,需要在父类和子类的类前加:@SuperBuilder(toBuilder = true)注意:必须指明toBuilder = true,因为toBuilder默认是false2、如果不需要集成父类的属性,可以使用@Builder或者是直接写成@SuperBuilder(toBuilder = true)/@SuperBuilder一劳永逸也行...原创 2021-02-04 14:50:47 · 14282 阅读 · 0 评论 -
JPA中@ManyToMany自动生成的表名及字段
class User{ @ManyToMany(mappedBy = "members") @JSONField(serialize = false) private List<WorkGroup> workGroupList;}class WorkGroup{ @ManyToMany private List<User> members;}1、生成的中间表表名的规则:mappedBy字段对应的对象加上_加上mappedBy字段.原创 2021-02-04 10:37:46 · 730 阅读 · 0 评论 -
JPA传参中List和Array(Long[]等等)
传List:b.id IN ?1转换为b.id IN 1,2,3....缺少()传Array:b.id IN ?1转换为b.id IN (1,2,3....)原创 2021-01-25 14:51:17 · 1687 阅读 · 0 评论 -
事务不回滚、Springboot2.0中Hibernate默认创建的mysql表为myisam引擎问题
MySQL表类型MyISAM/InnoDB的区别(解决事务不回滚的问题)MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。 MyISAM表格可以被压缩,而且它们支持全文搜索。它们不是事...原创 2018-10-25 15:22:50 · 675 阅读 · 1 评论 -
JPA - 一级和二级缓存使用详解
【1】一级缓存JPA默认情况下和MyBatis一样开启一级缓存。JPA是针对与entityManager,Mybatis是针对于namespace。示例代码如下:@Testpublic void testSecondLevelCache(){ Customer customer1 = entityManager.find(Customer.class, 1); Cu...转载 2018-09-19 15:32:23 · 5383 阅读 · 0 评论 -
JPA和Hibernate到底是什么关系???
(文章借用了其他几篇博客中的内容,因为是初学者,许多概念性的关系自己不能完全理解,就将大神的搬了过来,如有不当,可留言,本人自会妥善处理,谢谢)在学习框架的过程中,发现学的东西很多,但是感觉他们之间的联系区别都不是很了解,知道JPA可以去实现持久化数据到数据库当中,Hibernate也有这样的功能,总以为他们之间是一种平级的关系,拥有同样的作用,是一种可以相互替代的关系,就像你吃饭时,选择吃米...转载 2018-09-19 10:22:40 · 8348 阅读 · 3 评论 -
getOne(ID var1)和findOne()的区别
1、T getOne(ID var1):org.springframework.data.jpa.repository.JpaRepository:根据id查询出来的对象不为null,但是对象里面的所有属性全部为null 2、T findOne(ID var1):org.springframework.data.repository ...原创 2018-09-18 10:08:06 · 551 阅读 · 0 评论 -
解决JPA懒加载的办法
方案1: 1.1、在多的一方的类上加上@ToString()注解,重写toString方法 1.2、在代码中获取一的时候主动调用多的toString()方法:uopUser.getUserChannelRelationList().toString();方案2: 2.1、在代码中主动get多的一方的唯一主键:uopUser.getUserChannelRelationList()...原创 2018-06-19 16:24:00 · 7850 阅读 · 0 评论 -
Spring Data JPA 简单查询--方法定义规则(详解)
一、常用规则速查1 And 并且2 Or 或3 Is,Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 GreaterThan 大于8 GreaterThanEqual 大于等于9 After 之后(时间) >10 Bef...原创 2018-05-30 16:18:57 · 1855 阅读 · 0 评论 -
直接使用JPA数据库模型对象作为接收(返回)对象,实现基本的增、删、改、查的功能
1、背景:目前的我们项目大量的请求模型DTO和返回模型DTO。场景1:当需要修改一条记录的时候,前端传入后端的参数需要使用请求DTO接收,然后根据id找到对应的持久化层对象,当请求模型DTO的属性和持久化层模型属性不一致的时候,属性之间赋值需要使用对象属性set的方式进行赋值,或者是其他的框架(如MapStruts等),总之非常不方便。场景2:在进行查询的时候,需要将查询到的持久化层对象通过...原创 2018-06-11 18:08:12 · 2435 阅读 · 0 评论 -
getOne(ID var1)和findOne()的区别
1、T getOne(ID var1):org.springframework.data.jpa.repository.JpaRepository 根据id查询出来的对象不为null,但是对象里面的所有属性全部为null!2、T findOne(ID var1):org.springframework.data.repository 根据id查询出来的对象不为null,且对象里面的所有...原创 2018-05-28 16:06:23 · 1878 阅读 · 0 评论 -
JPA查询之Specification以及HQL、SQL查询
1、Specification//查询条件ListList predicateList = new ArrayList();Specification specification = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery criteriaQ原创 2017-11-30 10:22:08 · 4502 阅读 · 0 评论 -
Spring Hibernate JPA 联表查询 复杂查询
今天刷网,才发现:1)如果想用hibernate注解,是不是一定会用到jpa的?是。如果hibernate认为jpa的注解够用,就直接用。否则会弄一个自己的出来作为补充。2)jpa和hibernate都提供了Entity,我们应该用哪个,还是说可以两个一起用?Hibernate的Entity是继承了jpa的,所以如果觉得jpa的不够用,直接使用hibernate的即转载 2017-11-15 16:39:48 · 4556 阅读 · 0 评论