session.connection() 在 Hibernate 上已弃用?
我们需要能够获得休眠会话的关联。没有其他连接将起作用,因为此连接可能与正在运行的事务相关联。java.sql.Connection
如果 session.connection() 现在已被弃用,我该怎么做呢?
我们需要能够获得休眠会话的关联。没有其他连接将起作用,因为此连接可能与正在运行的事务相关联。java.sql.Connection
如果 session.connection() 现在已被弃用,我该怎么做呢?
现在,您必须使用工作 API:
session.doWork(connection -> doSomething(connection));
或者,在Java<8中:
session.doWork(
new Work() {
public void execute(Connection connection) throws SQLException
{
doSomething(connection);
}
}
);
如果现在已弃用,我应该如何执行此操作?
session.connect()
你必须使用Ssion#doWork(Work)
和Work
API,如Javadoc中所述:
connection()
已弃用。(计划在 4.x 中移除)。更换取决于需要;对于直接的JDBC的东西,请使用doWork(org.hibernate.jdbc.Work)
;用于打开“临时会话”使用 (TBD)。
在Hibernate 4.x之前,你有一些时间,但是,好吧,使用一个不推荐使用的API在某种程度上看起来像这样:
:)
更新:根据 RE: [hibernate-dev] hibernate-dev 列表中的连接代理,似乎弃用的最初意图是阻止使用,因为它被认为是一个“坏”API,但它应该留在那个时候。我猜他们改变了主意...Session#connection()