【问题标题】:How to handle EntityNotFoundException in Spring Data JPA (or just standard JPA 2)如何在 Spring Data JPA(或标准 JPA 2)中处理 EntityNotFoundException
【发布时间】: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


    【解决方案1】:

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

    Here 是一篇讨论它的帖子。

    【讨论】:

    • 仅链接的答案对社区没有用处。如果链接坏了怎么办?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 2016-12-10
      • 2017-07-30
      • 2017-02-22
      • 2015-06-06
      相关资源
      最近更新 更多