公司hibernate项目升级,升级hibernate5.x版本时发现 session.connect() 在hibernate4.x 中已弃用。
解决方法:
1、使用(SessionImpl) session;
//两种获取session方式
Session session = currentSession();
Session session = getSessionFactory().getCurrentSession();
//获取connection连接对象
SessionImpl sessionImpl = (SessionImpl) session;
Connection conn = sessionImpl.connection();
2、使用Work API: Session doWork()
public void doWork() {
Session session = currentSession(); //获取session
final String sql="select * from t_user"; //sql
session.doWork(
new Work() {
public void execute(Connection connection) throws SQLException
{
PreparedStatement ps = connection.prepareStatement( sql );
ps.executeUpdate();
}
}
);