sping data jpa
janet1100
这个作者很懒,什么都没留下…
展开
-
Spring Data JPA实体的生命周期总结
目录四种状态 API示例 persist remove merge refresh 参考链接四种状态首先以一张图,简单介绍写实体生命周期中四种状态之间的转换关系:转存失败重新上传取消转存失败重新上传取消瞬时(New):瞬时对象,刚New出来的对象,无id,还未和持久化上下文(Persistence Context)建立关联。托管(Managed):托管对象,有id,已和持久化上下文(Persistence Context)建立关联,对象属性的所有改动均会影响到转载 2020-07-31 20:42:09 · 1010 阅读 · 0 评论 -
Spring boot使用Jpa的@Modifying的clearAutomatically = true的作用
1、代码示例@Modifying(clearAutomatically = true)@Query(value = "update customer_adviser set " + " auditStatus = ?1, "+ " optUserCode = ?3,"+ " optUserName = ?4 "+ " where id = ?2", nativeQuery = true)int updateCustomerAdvi.转载 2020-07-31 20:22:12 · 995 阅读 · 0 评论 -
spring data jpa 数据覆盖
最近遇到了一个问题,同时发送两个请求,更新同一个db table 的不同字段,发现数据会被覆盖。经过一系列测试,jpa 更新是先要查出整个entity,然后整个entity update。这样就会出现数据被覆盖。过程如下:请求1:更新user 的 name;请求2:更新user 的age;请求1,请求2同时发起,请求1 find user,正在做业务处理,还没有updateentity,请求2 也 find user,此时请求1与请求2 拿到的user内容是一样的,当请求1业...原创 2020-07-31 19:41:28 · 1354 阅读 · 0 评论 -
Spring Data JPA的自动更新
公司的项目后台架构是SpringBoot + Spring Date JPA,采用MySQL数据库。在工作刚开始时就遇到了一个奇怪的现象。在采用Date JPA查询完数据库之后,若改变了查询出的对象属性,那么数据库就会自动更新。比如查询出一个studentPO的name为“小明”,然后进行了一步studentPO.setName("小红")操作,再返回给前台,此时的数据库中的这个studentPO的name就会自己变成小红。但是我并没有调用updateBean方法去主动的更新这个对象,为什么它就会自动更新了转载 2020-07-31 20:04:59 · 2298 阅读 · 0 评论