如果你真的需要这个,那么你想做的事情如下:
session.connection().setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
Run Code Online (Sandbox Code Playgroud)
这与nolock相同.
在你这样做之前,要仔细考虑是否要进行脏读.大多数时候人们这样做是因为这是他们一直以来所做的事情,而不是因为这是正确的事情.特别是,这对缓存不起作用.
实际上,这个问题稍微涉及了一些问题.在决定之前仔细阅读.
小智 7
在最新版本的Hibernate中你必须这样做:
Session session = (Session) em.getDelegate();
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
connection.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
}
});
Run Code Online (Sandbox Code Playgroud)