2012-12-12 4 views
0

슬라이드 쇼, MediaItemsInSlideshows 및 Mediaitem의 3 개 테이블이있는 데이터베이스가 있습니다. 최대 절전 모드를 사용하는 JSP 사이트에서이 데이터베이스를 사용하고 있습니다. 미디어 아이템을 삭제하지 않고 슬라이드 쇼를 삭제하고 싶습니다. MediaItemsInSlideshows의 행은 삭제해야합니다.관련 개체를 삭제하지 않고 개체를 최대 절전 모드로 만듭니다.

현재 다음 코드를 사용하여 슬라이드 쇼를 제거합니다. 이 기능을 사용할 때 슬라이드 쇼에 사용 된 모든 미디어 항목이 사라집니다.

Session session = HibernateUtil.getSessionFactory().openSession(); 
Slideshow s = this.getSlideshowById(id, session); 
session.beginTransaction(); 
session.delete(s); 
session.getTransaction().commit(); 

이것은 데이터베이스의 시각적 표현은 : enter image description here

답변

1

및 삭제가 스키마에 의해 금지되는 널로 B에 대한 참조를 설정한다. 삭제 순서를 변경하는 대신 B에서 역 일대 다 컬렉션을 계단식 삭제와 함께 추가 할 수 있습니다. A의 삭제 만 필요할 것입니다. (출처 : Deleting of related objects in hibernate)

+0

cascadeType을 persist로 설정하여 해결했습니다. 감사합니다. :) – Jerodev

관련 문제