Riv*_*ver 8 java hibernate
我正在编写一个休眠拦截器,我需要访问休眠会话对象。他们是使用拦截器访问休眠会话的直接方法吗?
我想做的是找出 hibernate 连接到的数据库。由于各种原因,将其存储为线程本地数据是不切实际的。
min*_*das 0
似乎没有“官方”方式来获取会话对象,既不通过o.h.Interceptor也不通过o.h.EmptyInterceptor。此外,Interceptor的 Javadoc 说:
o.h.Interceptor
o.h.EmptyInterceptor
Interceptor
SessionFactory 可能有一个拦截器实例,或者可能为每个会话指定一个新实例。无论使用哪种方法,如果会话要可序列化,则拦截器必须可序列化。这意味着 SessionFactory 范围内的拦截器应该实现 readResolve()。 会话不能从回调中调用(回调也不能导致集合或代理延迟初始化)。
SessionFactory 可能有一个拦截器实例,或者可能为每个会话指定一个新实例。无论使用哪种方法,如果会话要可序列化,则拦截器必须可序列化。这意味着 SessionFactory 范围内的拦截器应该实现 readResolve()。
会话不能从回调中调用(回调也不能导致集合或代理延迟初始化)。
获取此信息的唯一方法似乎是使用反射,并已在此处得到解答。
归档时间:
13 年,5 月 前
查看次数:
5482 次
最近记录:
13 年,2 月 前