当我在会话中使用load方法时出现异常
java.lang.ClassCastException: www.csdn.net.blank.bean.City_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
来自api:
您不应该使用此方法来确定是否存在实例(使用 get()代替)。仅用于检索您假设的实例 存在,不存在将是一个实际的错误。
此版本不是持久对象的加载方法吗?
答案 0 :(得分:1)
这是一个很好的解释: http://way2java.com/hibernate/difference-bewteen-session-get-and-session-load-in-hibernate/
load()被称为延迟提取并返回持久对象的代理而不是实际的持久对象(请参阅上面的文章以获得解释。)
get()被称为eager fetching并返回实际的持久性对象。如果您不确定实例是否实际存在,也应该使用此方法。
至少这是我从阅读上述文章中理解的方式。
听起来你想要使用get()。
来自http://way2java.com/hibernate/difference-bewteen-session-get-and-session-load-in-hibernate/: