0

我在 MS SQL 2008 中有一个父表和子表,并尝试使用启用了级联的休眠执行保存调用。重要的表规范:父表有一个标识列,子表有一个长度为 50 的 varchar 列。

环境:spring,jboss 7.1.1,hibernate 3,jta事务(通过从jndi获取事务从代码中启动/提交/回滚事务)

问题出现时:我在子表 varchar 列中插入的数据超过 50。

仅当我执行提交时才会触发子表上的插入查询,并且由于字符长度而无法插入。因此我得到一个异常,我捕获异常并执行回滚,回滚失败,因为事务处于非活动状态。

问题:这里的问题是父数据被提交,这不是我想要的。如何确保事务完全回滚?

4

0 回答 0