본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> Hibernate> @ManyToMany

사전설정 

데이터베이스를 먼저 만들자.

스키마 생성

테이블 생성

강의와 학생 사이에는 Join table이 있다.

 

 


 

클래스 만들기

 

Course 클래스에서 Student 클래스의 리스트를 만들고 

getter/setter 와 addStudent 메소드를 만들어 준다.

Course 클래스에서 JoinTable을 작성한다.

 

Student 클래스에서도 필드를 만들고 getter/setter를 만들고  Join table을 설정한다.

Course 클래스와는 다르게 Student 클래스에서 courses 리스트의 add 메소드는 만들지 않는다.

joinColumns와 inverseJoinColumns 순서를 잘 보자.

 


메인함수 

Course 를 만들고 세션으로 저장한다.

Course를 만들고 저장한다.

Student 객체를 만들고 Course의 Student 리스트 필드에 집어넣는 메소드를 이용한다. 

그 다음 여기서 주의할 것은 course를 저장하는게 아니라 Student를 저장한다.

중간 테스트를 해보면 잘 들어갔다.

 

 

코스에다가 학생정보를 집어넣었떠니 조인테이블에서는 자동으로 등록이 된다. 


메인함수를 복붙하여 새로 만들자..

학생 테이블에서 id로 학생 정보를 얻은 다음에 코스를 만들고 거기에 불렀던 학생 정보를 넣는다.