如何在执行joinTransaction()或commit()时强制JPA中的异常?

时间:2012-01-23 15:29:02

标签: unit-testing exception java-ee jpa

使用JPA使用内存数据库(如HSQLDB)测试数据库相关代码:

如何在执行EntityManager.joinTransaction()EntityManager.getTransaction().commit()

时强制引发异常

我想在不改变数据库中的表的情况下强制执行异常(例如,删除测试执行persist()的表)。

1 个答案:

答案 0 :(得分:0)

有些方法,

  • 关闭您的数据库
  • 违反外键或唯一约束

对于joinTransaction()我不确定你能做多少,因为它只是加入了JTA事务。如果您不在JTA事务中,或者可能已经在事务中,或者在resource_local中,则会抛出错误。