【发布时间】:2018-03-12 16:53:40
【问题描述】:
我试图找出 Hibernate 更新查询中的微小差异,我发现了两种有趣的可能性:
- 在事务中执行更新(例如在用
@Transactional注释的方法中。 - 在没有事务的情况下执行更新,如下所示:
`
Connection connection = entityManager.getDataSource().getConnection();
connection.prepareStatement(...);
affectedRows = ps.executeUpdate();
第二个不创建事务,所以我想它可能会更快?考虑非常简单的更新查询,我真的不需要事务。真正的区别是什么?
【问题讨论】:
-
区别与使用休眠与使用普通 jdbc 相同,因为这就是您在第二种情况下所做的。也总是有一个事务......该语句可能处于自动提交模式,它将为每个语句打开并提交一个事务