Hibernate 在事务中休眠更新查询,并直接在连接上休眠更新查询

Hibernate 在事务中休眠更新查询,并直接在连接上休眠更新查询,hibernate,transactions,Hibernate,Transactions,我试图找出Hibernate更新查询中的细微差别,我发现了两种有趣的可能性: 在事务中执行更新(例如在用@Transactional注释的方法中) 执行不带事务的更新,如下所示: ` 第二个不创建事务,所以我想它可能更快一些。考虑非常简单的更新查询,我不需要事务。真正的区别是什么?< P> Hibernate < /St>是java编程语言的对象关系映射工具。它提供了一个映射面向对象域的框架。关系数据库的模型。最重要的是,当有巨大负载时,hibernate的性能会更快 事务是一个定义其从事务实

我试图找出Hibernate更新查询中的细微差别,我发现了两种有趣的可能性:

  • 在事务中执行更新(例如在用
    @Transactional
    注释的方法中)
  • 执行不带事务的更新,如下所示:
  • `

    第二个不创建事务,所以我想它可能更快一些。考虑非常简单的更新查询,我不需要事务。真正的区别是什么?

    < P> <强> Hibernate < /St>是java编程语言的对象关系映射工具。它提供了一个映射面向对象域的框架。关系数据库的模型。最重要的是,当有巨大负载时,hibernate的性能会更快

    事务是一个定义其从事务实现(JTA、JDBC)中抽象出来的工作单元的接口。事务与会话相关联。因此,要最大限度地利用hibernate,您需要事务。否则,使用hibernate根本没有意义

    hibernate的主要优点是它可以一次处理多个请求,而且使用起来很简单,但是如果每分钟的请求少于50个,就不要使用hibernate,这只是浪费内存

    阅读更多


    区别与使用hibernate与使用普通jdbc相同,因为在第二种情况下就是这样做的。此外,始终存在一个事务…该语句可能处于自动提交模式,将为每个语句打开并提交一个事务
    Connection connection = entityManager.getDataSource().getConnection();
    connection.prepareStatement(...);
    affectedRows = ps.executeUpdate();