第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

我使用Hibernate5.2,在沒關(guān)閉session的情況下測試發(fā)現(xiàn)connection hashcode都是一樣的


public void testSaveStudentsWithOpenSession() {

/*Hibernate5.x版本的測試方式*/

//獲得服務注冊對象

// 使用 final修飾引用變量時,當該引用變量被初始化賦值后,就不能再指向其他對象,但是該對象的內(nèi)容可以修改。

// TODO 或許正是在這里使用了final,使用openSession而沒有手動關(guān)閉,多次之后而【不會】導致連接池溢出

final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();

try {

? ??

//獲得sessionFactory對象

SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();

? ? //獲得session對象

Session session1 = sessionFactory.openSession();? ? //

//開啟事務

Transaction transaction = session1.beginTransaction();

//生成一個學生對象

Students s = new Students(1,"張三豐","男",new Date(),"北京");

session1.doWork(new Work() {

@Override

public void execute(Connection connection) throws SQLException {

// TODO Auto-generated method stub

System.out.println("connection hashcode:" + connection.hashCode());

}

});

session1.save(s);

//session1.close()? //

transaction.commit();? //提交事務

//獲取第二個session

Session session2 = sessionFactory.openSession();

Transaction transaction2 = session2.beginTransaction();

s = new Students(2,"sd豐","男",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);

//session1.close()? //

transaction2.commit();? //提交事務

} catch (Exception e) {

e.printStackTrace();

StandardServiceRegistryBuilder.destroy( registry );

}


}

}


正在回答

4 回答

在 hibernate 5.0 以上,如果注釋掉? session.beginTransaction() 代碼,那么 connection 的 hashCode 是不相等的;或者直接打印?

System.out.println(session1?==?session2);
System.out.println(session1.hashCode()?+?"??"?+?session2.hashCode());
0 回復 有任何疑惑可以回復我~

老師用的是4.X版本,大版本更新有區(qū)別的

1 回復 有任何疑惑可以回復我~

的確是一樣的,我也試過了,老師講的還是以參考為主吧,注重養(yǎng)成習慣,隨手關(guān)閉,just like 出門要把門窗鎖好

0 回復 有任何疑惑可以回復我~

hibernate 版本換成4.2.21

更換以下代碼:

//創(chuàng)建配置對象

Configuration cfg = new Configuration().configure();

//創(chuàng)建服務注冊對象

final ServiceRegistry registry = new ServiceRegistryBuilder().applySettings(

cfg.getProperties()).buildServiceRegistry();

//創(chuàng)建會話工廠對象

sessionFactory = cfg.buildSessionFactory(registry);

//創(chuàng)建會話對象

session = sessionFactory.openSession();


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我使用Hibernate5.2,在沒關(guān)閉session的情況下測試發(fā)現(xiàn)connection hashcode都是一樣的

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號