org.hibernate.HibernateException A collection with cascade=all-delete-orphan was no longer referenced by the owning entity instance

Hiberante – Khắc phục lỗi org.hibernate.HibernateException: A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance

Bài viết này dành cho các bạn đã và đang sử dụng hibernate vào project dự án để sử dụng. Khi sử dụng rất nhiều bạn gặp phải lỗi org.hibernate.HibernateException: A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance. Đây là một lỗi thường gặp và cách khắc phục ngay tại dưới bài viết này.

Đầu tiên đây là toàn bỗ source  thông báo lỗi:

 

Code demo

Ly do lỗi

Trường hợp này, bạn đang sử dụng quan hệ many to one  cũng như đang sử dụng orphanRemoval=true, vậy nên khi bạn sử dụng orphanRemoval nó sẽ truy vấn đến đối tượng news. Trong trường hợp này như các bạn thấy rằng news vẫn có giá trị đang null. Vì lý do này nên nó thông báo lỗi như dòng trên:

A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance

Khắc phục

Để khắc phục lỗi trên, các bạn sử chỉ cần khởi tạo đối tượng ban đầu cho news như sau:

OK, chỉ cần như vậy và khi các bạn chạy lại, lỗi được giải quyết.

Trên là cách khắc phục lỗi A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance trong hibernate. Chúc các bạn khắc phục thành công!

Happy coding!

Các bài viết cùng chủ đề:

Top