什么是hibernate中的事务管理?

时间:2011-06-22 12:05:57

标签: hibernate transactions

什么是hibernate中的事务管理?

在我的hibernate应用程序中,存在一对多映射。

例如:Student表与Subjects表映射。

当我在当时Student表添加Subjects对象时,还添加了一些条目。

Subjects表插入中发生任何错误时,我想自动删除Student表条目。

是否可以通过交易管理?那么它怎么可能呢?

1 个答案:

答案 0 :(得分:9)

您所描述的正是交易的目的。我们的想法是,您将数据库操作分组到单个事务中,并且它们都是成功的,或者都是失败的。这样,您的数据库就无法处于中间状态和无效状态。

事务管理是一个庞大且通常非常复杂的领域,您配置它的方式取决于您的特定应用程序设置。

由于您只提到了Hibernate,我建议您先阅读文档的this章节。如果您使用Spring划分事务边界,我建议您阅读其文档的this部分。

值得注意的是,您无法在事务之外将SQL发送到数据库。围绕这个here进行了讨论。