vaannila에서 주어진 예제로 Annotation을 사용하여 Hibernate Mapping many-to-many를 시도했습니다. 최대 절전 many-to-many, 동일한 레코드를 중복합니다.
Set<Course> courses = new HashSet<Course>();
courses.add(new Course("Maths"));
courses.add(new Course("Computer Science"));
Student student1 = new Student("Eswar", courses);
Student student2 = new Student("Joe", courses);
session.save(student1);
session.save(student2);
이 일이 잘 작동합니다. 하지만 그것은 테이블에 다시 학생 Eswar를 복제,
Set<Course> courses = new HashSet<Course>();
courses.add(new Course("Science"));
Student student = new Student("Eswar", courses);
session.save(student);
기존 학생 등으로, 나중에 다른 코스를 추가하려고합니다.
+------------+--------------+
| STUDENT_ID | STUDENT_NAME |
+------------+--------------+
| 1 | Eswar |
| 2 | Joe |
| 3 | Eswar |
+------------+--------------+
기존 Eswar에 코스를 추가 할 수 없습니까? 이 문제에 대한 귀하의 도움에 정말 감사드립니다.
"It seems to me"로 시작하는 문장을 제외하고 귀하의 대답은 OK입니다. Session.save는 항상 삽입을 시도합니다. 기존 엔티티를 업데이트하지 않습니다. –
@JBNizet okz, 실제로 다시 내 모습에서 개체를 저장하거나 업데이트 된, 개체의 기본 키 값의 존재를 기반으로 .... 나는 그것을 다시 확인하고 우리가 사용하고있는 것으로 나타났습니다 session.saveOrUpdate (인스턴스) 메서드 ..... 수정을위한 감사 ..... – Zohaib
Zohaib 및 JB Nizet, 대단히 감사합니다! 이제 saveOrUpdate()가 제대로 작동합니다. 두 가지 도움에 다시 한 번 감사드립니다! :) –