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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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


public void testSaveStudentsWithOpenSession() {

/*Hibernate5.x版本的測(cè)試方式*/

//獲得服務(wù)注冊(cè)對(duì)象

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

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

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

try {

? ??

//獲得sessionFactory對(duì)象

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

? ? //獲得session對(duì)象

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

//開(kāi)啟事務(wù)

Transaction transaction = session1.beginTransaction();

//生成一個(gè)學(xué)生對(duì)象

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();? //提交事務(wù)

//獲取第二個(gè)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();? //提交事務(wù)

} 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 回復(fù) 有任何疑惑可以回復(fù)我~

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

1 回復(fù) 有任何疑惑可以回復(fù)我~

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

hibernate 版本換成4.2.21

更換以下代碼:

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

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

//創(chuàng)建服務(wù)注冊(cè)對(duì)象

final ServiceRegistry registry = new ServiceRegistryBuilder().applySettings(

cfg.getProperties()).buildServiceRegistry();

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

sessionFactory = cfg.buildSessionFactory(registry);

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

session = sessionFactory.openSession();


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

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

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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