@Test
public?void?testWithGetCurrentSession()?{
Configuration?config?=?new?Configuration().configure();
ServiceRegistry?serviceRegistry?=?new?ServiceRegistryBuilder()
.applySettings(config.getProperties()).buildServiceRegistry();
sessionFactory?=?config.buildSessionFactory(serviceRegistry);
Session?session?=?sessionFactory.getCurrentSession();
Transaction?transaction1?=?session.beginTransaction();
Students?s?=?new?Students(3,?"張三",?"男",?new?Date(),?"北京");
session.doWork(new?Work()?{
@Override
public?void?execute(Connection?connection)?throws?SQLException?{
//?TODO?Auto-generated?method?stub
System.out.println("connection?hashcode:"
+?connection.hashCode());
}
});
session.save(s);
//?session1.close();
transaction1.commit();
Session?session2?=?sessionFactory.getCurrentSession();
transaction1?=?session2.beginTransaction();?//?生成學生對象
s?=?new?Students(4,?"類似",?"男",?new?Date(),?"大海");
session2.doWork(new?Work()?{
@Override
public?void?execute(Connection?connection)?throws?SQLException?{
//?TODO?Auto-generated?method?stub
System.out.println("connection?hashcode:"
+?connection.hashCode());
}
});
session2.save(s);
transaction1.commit();
}
2016-08-01
我將你的代碼運行了一遍,你當中少了我添加的那條 3.獲取sessionFactory對象? 然后運行結果的hashcode值是相同的。
2016-07-17
為什么不同呢?
2016-06-11
上面的生成的兩次session所對應的connection的hashcode是不一樣的