Spring JPA org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role
Java , Spring Framework / 06 Ekim 2017

Merhaba değerli Java dostları, bu yazımda aslında çok basit bir hareketle çözülebilen; ama bu çözümün bulunması uzun vakit alabilen bir probleme değinmek istiyorum. Entity tanımları yapılırken bağlı entityler lazy load olarak tanımlanabilir. Bu durumda gerçekten o bağlı nesneler çağrıldığında yüklenir. Çağrılmadığı sürece bir proxy ile işler idare edilir. Fakat session ve transaction yönetimi şeklinize bağlı olarak org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role hatasını alabilirsiniz. Bu hatanın nedeni lazy load yapılırken aktif bir session bilgisinin bulunmaması. Bunu çok basit bir hareketle çözüyoruz. Ben annotation tabanlı gittiğim için java kodu üzerinden örnek vereceğim. Xml tabanlı gidenler için de aslında sadece tanım şekli değişiyor, mantık aynı. EntityManagerFactory sınıfı üzerinden properties veriyoruz. LocalContainerEntityManagerFactoryBean.setJpaProperties(additionalProperties); Paylas    

Hibernate Transaction Properties
Hibernate , Java / 07 Ekim 2010

Hibernate ile ilgili özellik listemize devam edelim. hibernate.transaction.factory_class TransactionFactory örneği adı. jta.UserTransaction Uygulama sunucusundan UserTransaction örneği almak için kullanılacak JNDI ismi. hibernate.transaction.manager_lookup_class TransactionManagerLookup örneği adı. hibernate.transaction.flush_before_completion Değer true olduğu takdirde transaction son kısmında, flush işlemi oturum tarafından gerçekleştirilir. hibernate.transaction.auto_close_session Değer true olursa transaction bitiminden sonra oturum kapatılır. Kaynak: Hibernate Reference Documentation Paylas