如何检查hibernate会话包含连接是否处于只读模式。
目前正在使用
进行检查Session.connection().isReadOnly()
但是连接已被弃用标记,有没有其他方法可以检查它?
答案 0 :(得分:1)
您可以在会话对象上使用isDefaultReadOnly()方法。这告诉你,(来自Hibernate Javadoc)
默认情况下,加载到此会话中的实体和代理是否为只读?
此外,您也可以使用isReadOnly(object)方法。这将告诉你(再次来自hibernate javadoc)
指定的实体或代理是只读的吗?
我希望这两者的组合可以满足你的目的。
答案 1 :(得分:0)
怎么样:
private boolean isReadOnly;
public boolean isReadOnly() {
this.getSessionFactory().getCurrentSession().doWork(new Work() {
public void execute(Connection connection) throws SQLException {
isReadOnly = connection.isReadOnly();
}
});
return isReadOnly;
}