JPA之Jpql FAQ

  • jpql语句如何写参数参数 ?参数序号 方式和 :参数名 方式

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

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

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

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

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

  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章