是第一级缓存中的对象

时间:2011-10-23 13:39:21

标签: hibernate nhibernate caching

如何判断某个HibernateProxy是否在第一级缓存中?

代码大致是

for (HibernateObject obj : objects) {
    if (HibernateUtils.isHibernateProxyInCache(
        obj.getExpensiveLazyObject())
    ) {
        display(obj.getExpensiveLazyObject());
    } else {
        display("click here to see expensive lazy object");
    }
}

我需要的代码是HibernateUtils.isHibernateProxyInCache,但我不知道如何实现它。

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找Hibernate.isPropertyInitialized

调用HibernateUtils.isHibernateProxyInCache(obj.getExpensiveLazyObject())会将代理初始化为昂贵的惰性对象,因此您的方法将始终返回true。