■ SPRING REVIEW & PRACTICE/LECTURE - BASIC
Basic - session 8
JH
2024. 9. 12. 09:40
1. Entity: 데이터베이스 테이블
2. 영속성컨텍스트: @Transactional이 걸린 context(문맥)을 말함
영속성 컨텍스트 내에서 db를 한번이라도 갔다온 entity의 변경사항은 실제로 db에 반영 = '더티체킹' 이라고 부림
3. 쿼리메서드는 외울필요 없이 찾아서 쓰기
SQL 을 알면 좋으니 조금씩 공부하기
4. 연관관계
- 1:1 복잡하고 관련이 없어서 분리되어야할 때만 쓰도록! 지금은 우선 사용하지 말기
- 1:N / N:1 유일한 연관관계이고 실제 세계에는없지만 JPA가 해줌
@OneToMany는 @ManyToOne이 없으면 존재할 수 없음
@ManyToOne은 더 많은 쪽으로 감 (ex. 게시글 < 댓글)
- N:M 은 @ManyToOne을 2번 쓰는것과 같음
-> 이때 중간테이블이 반드시 필요하고 ManyToOne을 중간테이블에 2번 선언하기
-> 항상 @ManyToOne 먼저 하고 @OneToMany 걸지 말지 생각하기
저자 (여러명의 저자가 책 한권 출판 가능) |
중간테이블 (리스트를 필드 하나에 여러개 선언할 수 없기 때문에 중간테이블 사용) |
책 (책 여러개가 같은 저자일 수 있음) |
@OneToMany(mappedBy = “나자신”) private List<Author> authors = new ArrayList<>(); |
|
@OneToMany(mappedBy = “나자신”) private List<Book> books = new ArrayList<>(); |