为什么用getCurrentSession,但我的hashCode是不同的
//获得配置对象
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
(?, ?, ?, ?, ?)