JPA之Jpql FAQ

原创
2020/10/31 21:57
阅读数 65
  1. jpql语句如何写参数参数 ?参数序号 方式和 :参数名 方式

  2. 更新时方法上必须加@Modifying这样框架最终会生成一个更新的操作,而非查询操作。

  3. @Modifying注解里面有一个配置clearAutomaticallyjpa底层实现会有二级缓存,也就是在更新完数据库后,如果后面去用这个对象,你再去查这个对象,这个对象是在一级缓存,但是并没有跟数据库同步,这个时候用clearAutomatically=true,  就会刷新一级缓存了, 不然你在同一接口中,更新一个对象,接着查询这个对象,那么你查出来的这个对象还是之前的没有更新之前的状态。

  4. 不要修改反查对象的id来save 新建一条记录,Spring Data Jpa对于查询出的对象都有缓存,更改id save会抛异常,只允许修改非id字段来更新数据记录;如果需要复制数据记录,实现对象的clone方法,或新建对象set原对象数据。

  5. 保存多条记录,需要构建对象的集合,使用集合的save方法,效率比单对象save高很多。

  6. 保存多条记录时,如果既有新建又有更新,建议分开save,一起save可能会出问题。

项目推荐:基于Spring Cloud Alibaba技术,包含基础功能、OA、支付、营销等模块的分布式微服务开发平台

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部