为了账号安全,请及时绑定邮箱和手机立即绑定

使用OpenSession每次connection的hashCode是一样的

https://img1.sycdn.imooc.com//5b7cffaf0001437e10400864.jpg

@Test
public void testSaveStudentWithOpenSession(){
    //获得配置对象
    Configuration config = new Configuration().configure();
    //获得服务注册对象
    StandardServiceRegistry standardServiceRegistry = new StandardServiceRegistryBuilder().configure().build();
    SessionFactory sessionFactory = config.buildSessionFactory(standardServiceRegistry);
    Session session = sessionFactory.openSession();
    //开启事务
    Transaction transaction = session.beginTransaction();
    Student student = new Student("张三丰", "女", new Date(), "武当山");
    session.doWork(new Work() {
        public void execute(Connection connection) throws SQLException {
            System.out.println(connection.hashCode());
        }
    });
    session.save(student);
    transaction.commit();
    
    Session session2 = sessionFactory.openSession();
    transaction = session2.beginTransaction();
    session2.doWork(new Work() {
        public void execute(Connection connection) throws SQLException {
            System.out.println(connection.hashCode());
        }
    });
    session2.save(student);
    transaction.commit();
}


正在回答

1 回答

不是不hibernate版本问题,你的事5.x版本吧。看到用了StandardServiceRegistryBuilder

0 回复 有任何疑惑可以回复我~
#1

K8sCat 提问者

5.x使用openSession每次获取的connection是同一个?
2018-08-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使用OpenSession每次connection的hashCode是一样的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信