I have a many-to-many mapping between student and course and I have cascade="all" on the students-to-courses mapping as shown below. When I delete a student, hibernate cascades the delete to all of the students courses. My problem is that some of these deleted courses are also shared by other students. How do I ensure that deleting student_A will delete only courses that belong only to student_A and not courses that are shared with student_B.
cascade="all", cascade="delete", and cascade="all-delete-orphans" should be avoided when dealing with many-to-many associations, or else, problems like this will arise.
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.