2

我正在清理数据库。这些过程涉及更改某些字段的格式并消除一些数据完整性问题。

我用 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....

4

2 回答 2

3

也许您正在寻找 @NotFound 注释?

是一篇讨论它的帖子。

于 2012-07-15T03:52:07.063 回答
0

我遇到了同样的问题,因为我的 orm 映射有错误的@一对一单向关系。

于 2017-04-12T11:21:25.813 回答