为什么用getCurrentSession,但我的hashCode是不同的

来源:2-6 session详解(下)

_神人A

2016-08-05 00:08


//获得配置对象
Configuration config = new Configuration().configure();
//获得服务注册对象
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//获得sessionFactory对象
SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry);
//创建session对象
Session session1 = sessionFactory.getCurrentSession();
//开启事务
Transaction transaction = session1.beginTransaction();
//生成一个学生对象
Student s = new Student(1,"张","nan",new Date(),"北京");
session1.doWork(new Work(){

@Override
public void execute(Connection connection) throws SQLException {
System.out.println("getCurrentSession1 connection hashCode" + connection.hashCode());
}

});
session1.save(s);
//session1.close();
transaction.commit();

Session session2 = sessionFactory.getCurrentSession();
transaction = session2.beginTransaction();
s = new Student(2,"张34","男",new Date(),"上海");
session2.doWork(new Work(){

@Override
public void execute(Connection connection) throws SQLException {
System.out.println("getCurrentSession2 connection hashCode" + connection.hashCode());
}
});
session2.save(s);
transaction.commit();

这里是结果:

getCurrentSession1 connection hashCode32089354

Hibernate: 

    insert 

    into

        hibernate.STUDENT

        (SNAME, GENDER, BIRTHDAY, ADDRESS, SID) 

    values

        (?, ?, ?, ?, ?)

getCurrentSession2 connection hashCode22794654

Hibernate: 

    insert 

    into

        hibernate.STUDENT

        (SNAME, GENDER, BIRTHDAY, ADDRESS, SID) 

    values

        (?, ?, ?, ?, ?)


写回答 关注

3回答

  • 晴颜
    2017-02-22 22:16:31
    
    getCurrentSession1 connection hashCode1648001170
    Hibernate: 
        insert 
        into
            STUDENTS
            (NAME, GENDER, BIRTHDAY, ADDRESS, SID) 
        values
            (?, ?, ?, ?, ?)
    getCurrentSession2 connection hashCode1648001170
    Hibernate: 
        insert 
        into
            STUDENTS
            (NAME, GENDER, BIRTHDAY, ADDRESS, SID) 
        values
            (?, ?, ?, ?, ?)

    我试了一下你的代码,上面是运行结果,是一样的

  • Queen丶Star
    2016-08-16 17:24:06

    你设置property那里了吗?

    _神人A

    哪里的property?

    2016-08-21 22:20:10

    共 1 条回复 >

  • qq_昼绽_0
    2016-08-05 15:32:01

    很惊奇,没错啊,我想看一下项目文件

    qq_昼绽_... 回复_神人A

    真的,我打出来就是一样的啊,你多试几次看看。

    2016-08-31 11:39:55

    共 4 条回复 >

Hibernate初探之单表映射

Java持久化框架Hibernate入门教程,掌握Hibernate基本概念

74810 学习 · 793 问题

查看课程

相似问题