@ElementCollection
-
20221220 TIL @ElementCollectionTIL 2022. 12. 20. 17:02
관계형 DB에서는 숫자 타입, 문자열 타입, 날짜와 시간 타입의 값을 저장할 수 있다. 즉, 묶음 형태의 값은 함께 저장하지 못하고, 다른 테이블을 생성해서 저장해야 한다. 예를 들면 어떤 게시글에 태그들이 붙어있을 때, 게시글 테이블에 태그들까지 저장할 수 없다. 왜냐하면 하나의 게시글 테이블에 여러 개의 태그의 묶음이 관계형 DB에서는 들어가지 못하기 때문이다. 그렇다면 spring에서 어떤 엔티티에 묶음 형태의 필드를 넣으려면 어떻게 해야할까? 만약 엔티티로 이뤄진 콜렉션이라면 @OneToMany 어노테이션을 활용하면 되고, String등의 primitive type이나 @Embeddable 어노테이션이 붙은 클래스로 이뤄진 콜렉션이라면 @ElementCollection 어노테이션을 활용하면 된다...