2012-11-21 89 views
0

現在我正在使用spring-data-jpa & hibernate。我想從課程中刪除一個courseDetail,但在我運行我的代碼後,courseDetail仍然在數據庫中。使用spring-data-jpa從數據庫中刪除詳細信息

誰能告訴我這是怎麼發生的?

在此先感謝。

@Transactional(readOnly = false) 
public void deleteCourseDetail(Long id, Long courseId) { 
    Course course = courseDao.findOne(courseId); 
    CourseDetail courseDetail = courseDetailDao.findOne(id); 
    System.out.println(course.getCourseDetails().size()); 
    course.getCourseDetails().remove(courseDetail); 
    System.out.println("after: " + course.getCourseDetails().size()); 
    courseDao.save(course); 
} 

@OneToMany(mappedBy = "course", fetch = FetchType.LAZY, cascade = {CascadeType.ALL}) 
public List<CourseDetail> getCourseDetails() { 
    return courseDetails; 
} 

現在它工作後,我添加了courseDetailDao.delete(id);後面保存方法。但爲什麼?

+0

請瀏覽http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/example-parentchild.html#example-parentchild-cascades – 757071

回答

1

你應該有「刪除孤兒」作爲級聯類型。

如果不是,刪除courseDetails中的條目就意味着刪除CourseCourseDetail之間的關係。這並不意味着從DB中刪除課程詳細信息

相關問題