SSHフレームワークの統合-04 HibernateTemplate.load()遅延ロード方法の問題
1. 遅延ロードを使用している場合、WEBレイヤでオブジェクトを問い合わせるとプログラムが異常を放出します!
ERROR org.hibernate.proxy.pojo.javassist.JavassistProxyFactory - HHH000142: Javassist Enhancement failed: domain.Customer
java.lang.ClassCastException: domain.Customer_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
これは、パケット競合の問題で、インポートしたパケットにjavassistが複数あるかどうかを検索し、1つだけ残しておけばよいからです.
2.例外が次の場合:
could not initialize proxy - no Session
遅延ロードがまだSQL文が発生していないため、ビジネス・レベルでセッション・オブジェクトが破棄されたため、クエリーされたJavaBeanオブジェクトが管理対象オブジェクトになりました!解決方法:springで提供されたフィルタを使用してweb層の前にsessionを開くと、webに覚えておいてください.xmlで構成する場合はstruts 2の前に必ず
OpenSessionInViewFilter
org.springframework.orm.hibernate5.support.OpenSessionInViewFilter
OpenSessionInViewFilter
/*