java - 在插入表之前清理数据

标签 java spring hibernate jpa

我的 JPA 实体如下所示。

Employee{

String name;

String address;

String phoneNumber;

Date  joiningDate;

boolean isActive;

}

我发现我们在地址、名称表中插入了错误数据,例如错误字符\u000b(换行符)。我想一般性地处理此问题,以便在插入之前清理数据。 我想在 dao 层处理,因为这会从很多地方调用,因此想在一个中心位置处理。像 AOP 这样的东西 我正在做

employeeDao.save(employee);

然后执行employee.merge();

最佳答案

您可以向实体添加使用 @PrePersist 或 @PreUpdate 注释的方法来清理数据。每次插入或更新之前都会自动调用该方法。

import javax.persistence.Entity;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;

@Entity
public class MyEntity{

   @PrePersist
   @PreUpdate
   private void cleanup() {
       ...correct your data here...
   }
}

关于java - 在插入表之前清理数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42966113/

相关文章:

java - 如何阻塞直到线程池为空......线程数量未知?

java - MockMvc Controller 测试并返回 NullPointerException

java - Spring Security访问被拒绝角色或还有什么?

java - 试图在 Java 中获取选项字段的值

hibernate - Grails:过滤 gorm 查询

java - 是什么减慢了 Hibernate/Oracle 的速度?

java - 我应该如何处理 JSoup 中删除的元素?

java - spring boot standalone 在本地运行良好但无法在远程服务器上访问

hibernate - 如何在带有注释的 hibernate 中以编程方式验证数据库模式?

java - 为什么这个 HQL 查询看起来不应该起作用,但它却起作用了?