![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringDataJPA
文章平均质量分 58
个人错误总结
三婶儿
程序和我,有一个能跑就行了。
展开
-
SpringBoot中基于JPA的多条件动态查询二次封装
最近地摊经济盛行了,对于wshanshi这个吃货来说是再幸福不过的了。逛吃,逛吃,逛吃…怕是开心的要飞起来了呢!要不咱也摆摊卖点啥去?看了看镜子里帅气的面孔,笑容愈发…“老板,来一份wshanshi。酸甜,微辣,微辣…”“好嘞!您稍等!我这就去把wshanshi叫来!”“小二,来说一下SpringBoot中基于JPA的多条件动态查询封装。讲不好不但不给饭钱,还要把你们wshanshi小姐姐赔给我!”“好嘞客官,给您免单!赶紧把她带走,带走!把我吃穷了都!”用过SpringDataJPA的都.原创 2020-06-10 14:19:24 · 4346 阅读 · 4 评论 -
关于报错:java.util.NoSuchElementException: No value present
日志排查时发现了一个报错:“No value present”What?这是什么鬼,没印象啊。什么不存在,忍不住脑补脑补脑补,脑补没成功。查了下资料,又是一个忍不住狂扇自己系列(嗯,是个狠人)…都知道java8中引入了很多新特性,其中就包括Optional :有效的避免了传统的空指针,想一想曾经你的if else 非空判断,再对比下旁边这位。不由得感叹:优雅简便,卧槽????????(美好的一天从口吐...原创 2020-04-16 17:37:21 · 66471 阅读 · 4 评论 -
解决:jpa中由于缓存问题引起的,查询出的数据不是数据库中最新数据
在某一方法中对A对象进行修改操作,且在这个方法返回之前对A对象进行查询。发现得到的数据是A对象修改之前的数据,而并非A对象修改之后的数据。这是什么原因造成的呢?答:缓存问题。为什么说是缓存问题呢?都知道JPA的底层实现是Hibernate,也可以说JPA是Hibernate的升级版本。Hibernate的缓存机制分为:一级缓存和二级缓存。一级缓存:hibernate默认开启一级缓存,仅...原创 2019-12-27 14:49:42 · 11505 阅读 · 4 评论 -
关于JPA中ManyToMany一个角色多个权限进行绑定
JPA中两个实体类ManyToMany关系会在数据库当中生成第三张关系表,里面放置两张关系表的外键,并不像我们使用mybatis那样可以自己创建关系表生成id和两张表的外键。那么如果使用JPA该如何操作中间表呢?以Role和privilage为例,以下是我的个人理解。如有理解不当,请大牛赐教,哈哈哈哈哈哈。实体类中role角色表public class Role implements ...原创 2019-05-17 17:53:48 · 1290 阅读 · 0 评论 -
关于Specification中查询条件and基础上拼接or
exList.add(cb.or(cb.and(root.get("teacherStatus").in(TeacherStatus.ONTHEJOB, TeacherStatus.RETIREMENT, TeacherStatus.RESIGNATION))));控制台sql效果:and (teacher0_.teacher_status in (? , ? , ?))...原创 2019-05-15 15:00:50 · 7554 阅读 · 2 评论 -
SpringDataJPA中使用EntityManager操作返回多表连接结果集
上一篇博客中说过关于SpringDataJPA中多表关联查询,自定义实体类接收返回的结果集:新建Vo类的方式。单表操作返回实体对象就不必说了,可以用Specification动态查询,也可以直接在接口上定义查询,加非空判断之类的。但是问题来了,这个返回对象是我们自定义的,在@Query()中是select new XXXX()返回出来的,那么我们用这种方法拼多条件和分页时怎么处理呢?第...原创 2019-04-30 14:52:50 · 11230 阅读 · 3 评论 -
关于SpringDataJPA中多表关联查询,自定义实体类接收返回的结果集
在项目中使用jpa进行多表连接查询,基本上返回的都是多张表中的数据。那么问题来了,这关联返回的数据那么多,还是不同表当的数据,数据库中也没有表和它对应啊,怎么处理呢?返回Object吗?其实可以用新建Vo的方法解决,话不多说,直接看代码示例:示例实体类如下:1.教师类public class Teacher implements Serializable { priva...原创 2019-04-25 21:00:21 · 19107 阅读 · 25 评论 -
关于Hibernate、SpringDataJpa中@OneToMany却生成了第三张关系表
看一下你的@OneToMany(mappedBy = "XXXXX")是不是没有加mappedBy,不加默认会生成第三张表管理关系。(mappedBy = "project")对应另一类中映射属性值mappedBy属性在@OneToOne、@OneToMany、@ManyToMany关系中可以添加,@ManyToOne不支持,举个例子:public class Project im...原创 2019-04-12 15:15:21 · 755 阅读 · 0 评论 -
SpringDataJPA中使用Specification进行表连接多条件分页动态查询
一直使用springboot开发,很久没用过jpa了,最近公司的项目用jpa,这就用到了Specification进行多表连接多条件动态查询,想了想还是简单的总结一下。废话不多说,具体实现如下:1.定义接口,继承JpaRepository<X,X>,JpaSpecificationExecutor<Project>public interface Projects...原创 2019-04-04 22:45:13 · 11424 阅读 · 3 评论 -
关于SpringDataJPA中使用@columnDefinition为实体类属性赋默认值无效
我们都知道使用SpringDataJPA创建实体类添加注解和对应映射关系,在run项目的时候数据库中会自动创建表。对于实体类当中一些需要赋默认值的字段,我们最常想到的是使用注解:columnDefinition = "XXXXX"@Column(name = "training_credits",columnDefinition = "XXXXX")private Integer trai...原创 2019-04-04 09:45:06 · 8767 阅读 · 0 评论