org.hibernate.LazyInitializationException: could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session spring spring

org.hibernate.LazyInitializationException: could not initialize proxy - no Session


From the tags you provided, I deduce you ran into this problem using Spring Framework. I ran into the same LazyInitializationException while using a Spring Data org.springframework.data.jpa.repository.JpaRepository.

I solved the problem by annotating the method which indirectly uses Hibernate to retrieve data from the database with @Transactional.


It sounds like the column you are trying to access is configured as an association of some sort in your entity (OneToMany, ManyToOne, whatever) and you are not populating that association in your DAO. Then, when you try to access that column (in a location in your code where there is no Hibernate Session), its not populated, Hibernate tries to load it, and boom.

Since you are in fact using the data in that association, making it EAGER sounds like something you actually would want to do. And if that table is so large, you should look at indexing it so that queries against it are efficient.


Your object is detached. You need to re-attach it to the current session before accessing it:

session.update(object);

Also make sure you access it within a transaction

Read more about the problem/solution here