Hibernate:代理的类型转换

时间:2011-11-03 14:00:05

标签: hibernate orm jboss

他们在Hibernate Reference Documentation (21.1.3. Single-ended association proxies)

中说
  

选择lazy =" no-proxy"而不是默认的懒惰="代理",你   可以避免与类型转换相关的问题。

你能解释一下原因吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

lazyproxy时,相关的关联字段将使用代理对象进行初始化。由于创建代理时不知道关联对象的实际类型,因此显然无法将此代理转换为该代理。

lazyno-proxy时,该字段未初始化。而是拦截对该字段的访问,并在您尝试访问该字段时加载实际对象。此拦截需要字节码检测。