Benim, user(öğrenci ve öğretmenler) ve lesson(teacher_id-FK, ve diğer bilgiler) olarak iki tablom var.(many-to-many ilişki için birde student_lesson tablosu var.)Bu iki tablo arasında hem 1-m hem de m-n ilişki kurmak istiyorum..
User tablosu:
Hem öğrenci hem de öğretmenleri barındırıyor.Yani tüm kullanıcıları bu tabloda tutuyorum.
Lesson tablosu:
Burada da dersler kayıtlı.Ancak her dersin bir 'teacher_id' si var yani her ders bir öğretmen tarafından oluşturulmalı.Bu yüzden:
user-1--m-Lesson şeklinde bir ilişki kuruyorum.
user-m--n-Lesson --> student_lesson olarak bi ilişki tablosu oluşturuyorum.Burada da (student_id,lesson_id) tutuyorum.
Ancak öğrenciye ders eklerken (student_lesson tablosuna) öğrenciye ekleyip güncelliyorum fakat bir türlü update/insert komutunu işlemiyor.Sql kodlarını console çıktısında takip ediyorum. update metodunu çağırmama rağmen güncellemiyor.Herşey doğru ancak mantık hatası olup olmadığını merak ediyorum.Aynı anda iki tablo arasında hem one-to-many hemde many-to-many ilişkisi kurabilir miyim?Bu mantıklı mı ya da geçerli mi?
UPDATE:
Lesson.class
@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinTable(name = "lesson_student",
joinColumns = {
@JoinColumn(name = "lesson_id", referencedColumnName = "id") },
inverseJoinColumns = {
@JoinColumn(name = "student_id", referencedColumnName = "id") })
public Set<User> getLessonStudents()
User.class
@ManyToMany(mappedBy="lessonStudents",cascade=CascadeType.ALL)
public Set<Lesson> getStudentLessons() {