学习JPA = = = = > JPA + Hibernate - Entity Auditing by using @EntityListeners (logicbig.com)
@EntityListeners 注解
使用场景
一般我们针对一张表的操作需要记录下来,是谁修改的,修改时间是什么,Spring-Data 为我们提供了支持。
当我们对表进行操作时,可以将更新事件,创建时间,创建者等字段自动指定特定值,不需要再进行额外的操作,提供了类似拦截器的功能
学习 Spring-Data-Jpa (十五)---Auditing 与 @MappedSuperclass - caofanqi - 博客园 (cnblogs.com)
@DynamicUpdate && @DynamicInsert
在 Hibernate 中可以利用 @DynamicInsert
和 @DynamicUpdate
生成动态 SQL 语句,即在插入和修改数据的时候,语句中只包括要插入或者修改的字段,从而节省不必要的更新。
设置 JPA 执行的 SQL可见
jpa.show-sql:true;
坑:在使用JPA做数据库更新(save)的过程中,出现空值异常;
解决方案:没有修改的字段填充原始值,这样就不会导致数据库操作异常