-
JPA - 복합키스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7/Spring 2023. 9. 20. 19:03
- fk 2개를 쓸 클래스의 ID 클래스에 @Embeddable 어노테이션 과 implements Serializable 넣어 만든다
ex) A클래스의 FK키와 B클래스의 FK키를 한곳에 담을 AId 클래스를 만든다
- 해당 클래스의 타입은 각 A, B 의 FK의 타입으로 만든다- 카멜 케이스로 만들어야 JPA에서 동작 가능하다

A 클래스 해당 
B 클래스 해당 
- 복합키를 사용할 A 클래스에 AId 클래스를 만들어 주고 @EmbeddedID 어노테이션을 달아준다

- 복합키에 해당된는 FK키는 MapsId로 맵핑을 해준다

Before After PK 키가 두개가 만들어 진다

*데이터 추가
- Dto 에 toEntity에 AId를 매개변수로 추가해 준다

- Service에 AId를 추가해서 저장한다
- A에 해당하는 값만 넣어주고 B에 해당하는 값은 toEntity에서 넣어준다

*JPA - AId의 값을 사용할 경우
- AId 값을 Jpa에 타입으로 넣어준다

- Aid의 안에 있는 변수를 찾기 위해 '_' 를 사용해 찾는다

'스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7 > Spring' 카테고리의 다른 글
spring - select 줄이기 (0) 2023.09.26 JPA - 카멜 케이스 ORM (0) 2023.09.13 [JPA] nullable=false와 @NotNull 비교, Hibernate Validation (0) 2023.09.12 Junit 실행 시 에러 (0) 2023.09.12