不需要开启事务?直接session就能查询??我的不好使啊??

来源:3-4 Query接口应用编程示例--代码实现

桎梏灬

2017-06-14 11:52

不需要开启事务?直接session就能查询??我的不好使啊??

写回答 关注

3回答

  • 黑店老板
    2018-06-02 17:23:59

    你在hibernate.cfg.xml中设置了手工管理事务,所以在查询的时候需要开启事务,提交事务。

    黑店老板

    你把Session的获取方法由sessionFactory.getCurrentSession();改为sessionFactory.openSession();就好了。

    2018-06-02 17:25:47

    共 1 条回复 >

  • qq_頖縌乖乄絯_04017281
    2017-06-15 16:59:29

    只查询不修改数据库里任何数据时,是可以不事务提交的。。

    qq_頖縌乖...

    再给你解释一下事务本质你就明白了:事务是一个操作序列,是并发控制的。事务用在一些操作要么都执行,或者都不执行。就想银行转账 ,一个账号转到另一个,一个扣钱,一个加钱,2个是同步的。数据基本4个操作,增删改查,就查并不改变数据。。

    2017-06-15 17:27:31

    共 1 条回复 >

  • GzeJia
    2017-06-14 23:58:24

    1. 确认 hibernate.cfg.xml 下配置 :
    <property name="hibernate.current_session_context_class">thread</property>
    2. 确认获取 Session 方式:
    mSession = mSessionFactory.getCurrentSession();
    3. 确认重写 doWork() 并调用 connection.setAutoCommit(true); 启动事务
    4. 确认 mSession 执行查询语句后调用 mSession.flush();

HQL数据查询基础

使用HQL从数据库中找到你要的数据,掌握了使用Hibernate

41151 学习 · 90 问题

查看课程

相似问题