-
[Hibernate] One-to-many, 외래키가 null개발/Spring 2021. 11. 9. 20:45
하이버네이트를 사용하다보면 각 객체간 1:N의 관계를 설정할 때가 있다. 이 경우에 흔히 외래키를 가지고 있는 개체에서 JoinColumn을 이용해 외래키를 지정하게 된다. 이때 만약 상위 클래스의 클래스이름이 Student 이고 기본키가 id 인경우
@JoinColumn(name = "Student_id")로 객체간 관계를 명시한다.
근데 좀 이상한 일이 벌어졌다. 공부를 하면서 ArrayList에 N에 해당하는 객체들을 먼저 저장해두고 이를 1에 해당하는 객체에 연결해주니 정상적으로 Insert가 안되는 문제가 발생했다.
이에 내부적으로 어떠한 로직이 있는지는 현재 알아보지 않았으나 객체를 생성할 때 각 객체가 가지고 있는 프로퍼티에 고유의 메모리를 하나하나 다 캐시해두고 있는 듯한 느낌을 받았다.
실제로 이러한 생각 이후 각 객체의 값을 그대로 사용하니 Insert의 외래키가 잘 저장되어있는 것을 확인했다
'개발 > Spring' 카테고리의 다른 글
[Spring] 정적자원 맵핑 (0) 2021.11.13 [Hibernate] Lazy모드 신기한점 (0) 2021.11.09 [Spring-hibernate] Cascade 종류 (0) 2021.11.06 [Spring-Hibernate] cretaeQuery, is not mapped 에러 (0) 2021.11.06 [Spring] Bean Scope (0) 2021.11.04