【问题标题】:How to bypass a unique constraint exception in JPA 2如何绕过 JPA 2 中的唯一约束异常
【发布时间】:2016-06-27 19:24:44
【问题描述】:

我有一个带有复合唯一键的 JPA 实体,我编写了一个调度程序,将数据加载到该实体的表中。只是在加载时我有一个例外,以防唯一键违规。我想从我的数据库中抑制任何唯一违反约束的异常并继续加载所有其他对象。我正在使用事务,我不想在其他用户使用它时锁定整个表来验证唯一性。

【问题讨论】:

  • 解释你的意思'它不起作用'。什么不起作用?但是,如果您遇到约束异常,则持久性单元处于不一致状态 - 它不知道哪些语句或对象可能导致错误,因此无法使用。您需要解决问题并在新的上下文/事务中重试。

标签: jpa oracle10g eclipselink


【解决方案1】:

我认为您可以遍历所有对象并通过
try{} catch(JPAException exp){}

包装将对象加载到表中的方法

如果在加载任何特定数据时发生异常,则迭代将继续,其他对象仍在处理中。

【讨论】:

  • 我尝试了try{} catch(SQLException exp){continue;} 甚至try{} catch(Exception exp){continue;},但它不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
相关资源
最近更新 更多