Hibernateセッションからjdbc接続を取得したいhibernateセッション内にメソッドがあります。つまり、session.connection();しかし、それは廃止されました。私はこれがまだ機能していることを知っていますが、非推奨の方法を使用したくありません。 http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html 接続方法apiは、この目的のためにorg.hibernate.jdbc.Workを使用しているが、そのための例が見つかりませんか?
使用方法は次のとおりです。
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
//connection, finally!
}
});
これを試して:
((SessionImpl)getSession()).connection()
同様の問題があり、ConnectionProvider
クラスを使用して接続を取得しました。私の解決策を見る:
Session session = entityManager.unwrap(Session.class);
SessionFactoryImplementor sessionFactoryImplementation = (SessionFactoryImplementor) session.getSessionFactory();
ConnectionProvider connectionProvider = sessionFactoryImplementation.getConnectionProvider();
try {
connection = connectionProvider.getConnection();
...
}