-
[SPRING] 강한결합, 느슨한 결합?Spring Boot 2023. 2. 12. 13:04
스프링데이터 JPA 레포지토리에 메서드를 추가해주다가 에러가 발생했다.
User_Id로 조회해올 수가 없는 것이다.
이유가 무엇일까 생각해보았다.
User <-> NoticeBoard 테이블의 연관관계는 현재 NoticeBoard쪽에서만 @ManyToOne으로 단방향이다.
NoticeBoard는 User 필드를 가지고 있는데, @JoinColumn(name="user_id")를 선언해주면 mapped 어쩌구 에러를 일으켜서 해주지 않았다. 아마도 User 엔티티에서도 @OneToMany를 걸어주었을 때만 쓰는 것 같은데, 이걸 안했으니 그런 것 같다.
근데 Repository에서 findBy---User_Id를 쓰려면 @JoinColumn(name="user_id")를 해줘야 하는 것 같다.
즉, 양방향 연관관계일 때만 가능하다는 뜻이다.
확실하진 않지만 그래서 느슨한 연관관계로 풀어주는 것 같다.
'Spring Boot' 카테고리의 다른 글
[QUERYDSL] querydsl 전용 메서드/라이브러리 정리 (0) 2023.02.18 [DOCKER] Docker에 MySQL 적용부터 WorkBench 연결까지! (1) 2023.02.14 [SPRING] Redis를 사용해보장 (0) 2023.02.09 [SPRING] 단위테스트 원칙 (0) 2023.02.03 [SPRING] application.yml 에 들어갈 설정 (0) 2023.01.31