【发布时间】:2012-07-11 22:47:01
【问题描述】:
我正在清理数据库。这些过程涉及更改某些字段的格式并消除一些数据完整性问题。
我用 Spring Data 1.1 开发了一个程序来批量处理记录。 @OneToOne 关系中的 2 个实体会出现问题。尽管实体 A 引用了实体 B,但实体 B 的记录不存在。如果是这种情况,我的工作是清除对实体 B 的引用。
问题是:我应该对数据进行预处理以清理它,还是可以调整 Spring Data 或 JPA 设置以在未找到实体时将 null 放入字段中?
在实体 A 中有一个在实体 B 中不存在的 FK 是“正常的” - 使用此数据 - 所以我想在我的代码中处理这个问题,而不必通过额外的步骤预处理数据或其他工具。数据将分批到达,因此任何预处理都会使用户的事情变得更加复杂。
总之,我希望 Spring Data 将该字段设置为 null 并继续该过程,而不是获得 org.springframework.orm.jpa.JpaObjectRetrievalFailureException: Unable to find...。
【问题讨论】:
标签: jpa-2.0 spring-data