标签: hibernate transactions
什么是hibernate中的事务管理?
在我的hibernate应用程序中,存在一对多映射。
例如:Student表与Subjects表映射。
Student
Subjects
当我在当时Student表添加Subjects对象时,还添加了一些条目。
在Subjects表插入中发生任何错误时,我想自动删除Student表条目。
是否可以通过交易管理?那么它怎么可能呢?
答案 0 :(得分:9)
您所描述的正是交易的目的。我们的想法是,您将数据库操作分组到单个事务中,并且它们都是成功的,或者都是失败的。这样,您的数据库就无法处于中间状态和无效状态。
事务管理是一个庞大且通常非常复杂的领域,您配置它的方式取决于您的特定应用程序设置。
由于您只提到了Hibernate,我建议您先阅读文档的this章节。如果您使用Spring划分事务边界,我建议您阅读其文档的this部分。
值得注意的是,您无法在事务之外将SQL发送到数据库。围绕这个here进行了讨论。