當使用HibernateDaoSupport類時,我發現getSession().connection();已棄用。不贊成的hibernate getSession().connection()
什麼是另一種方法,請,而不是此
當使用HibernateDaoSupport類時,我發現getSession().connection();已棄用。不贊成的hibernate getSession().connection()
什麼是另一種方法,請,而不是此
現在我們必須使用session.doWork() API:
session.doWork(
new Work() {
public void execute(Connection connection) throws SQLException
{
doSomething(connection);
}
}
);
您的文章的最後一行足以添加爲問題的評論,而不是比發佈一個新的答案。除了API鏈接以外沒有新東西。 – 2013-03-05 08:47:41
@NayanWadekar感謝您的關注。如果您看到該鏈接,則有4到5種獲取連接對象的方法。但是我上面寫的那個看起來更好(根據我的理解,在閱讀了所有可能性之後)。 – 2013-03-05 08:57:44
我認爲,一個小小的綠色勾號和票數足以儘量減少可能性。 – 2013-03-05 09:00:22
我已經找到了以下解決方法用於獲取會話的連接沒有任何折舊。我很確定Hibernate的人並不打算允許這樣做。
private static class WorkAround implements org.hibernate.jdbc.Work {
private Connection conn = null;
@Override
public void execute(Connection conn) throws SQLException {
this.conn = conn;
}
public Connection getConnection() {
return conn;
}
}
public static Connection getConnection(Session session) {
WorkAround wrk = new WorkAround();
session.doWork(wrk);
return wrk.getConnection();
}
我想後這個答案在這裏:session.connection() deprecated on Hibernate?,但我認爲我不能給。
這個問題在這裏相當詳細的討論。 http://stackoverflow.com/questions/8770459/connection-getmetadata-does-not-seem-to-return-table-info – Nozone 2013-08-06 16:10:37