错误处理JPA EntityManager find(),remove(),persist()方法

时间:2015-09-18 06:10:53

标签: jpa find entitymanager persist

我正在使用JPA学习EclipseLink 我搜索了很多,但没有找到任何答案。

我的问题是,当我们使用EntityManager find()remove()persist()方法时,我们如何确保这些方法能够正常运行。

例如,如果persist()持续存在一行,如果插入因任何原因未发生,则会返回任何错误。

同样,如果find()未在数据库中找到任何数据,或remove()未找到要删除的行或因约束而未删除的行。

我们如何使用异常处理来处理这些场景?

1 个答案:

答案 0 :(得分:0)

典型的用例是在try / catch块中运行这些方法:

  1. 打开交易
  2. 运行您的代码
  3. 提交交易
  4. 回滚事务,如果代码中抛出异常。
  5. 正如Neil已经提到的,EclipseLink方法的任何问题都将被视为异常(在这种情况下是PersistenceException,但我只会捕获常见的Exception甚至是Throwable,因为不仅可能发生持久性问题,而且您可以随时将它们重新抛出到上层正确处理交易后的代码层。)

    这里很好NetBeans sample