-
Unable to locate Attribute with the the given name [id] on this ManagedType에러 일기 2023. 2. 12. 12:34
스프링데이터 JPA 레포지토리에 메서드를 추가해주다가 에러가 발생했다.
User_Id로 조회해올 수가 없는 것이다.
이유가 무엇일까 생각해보았다.
User <-> NoticeBoard 테이블의 연관관계는 현재 NoticeBoard쪽에서만 @ManyToOne으로 단방향이다.
NoticeBoard는 User 필드를 가지고 있는데, @JoinColumn(name="user_id")를 선언해주면 mapped 어쩌구 에러를 일으켜서 해주지 않았다. 아마도 User 엔티티에서도 @OneToMany를 걸어주었을 때만 쓰는 것 같은데, 이걸 안했으니 그런 것 같다.
근데 Repository에서 findBy---User_Id를 쓰려면 @JoinColumn(name="user_id")를 해줘야 하는 것 같다.
즉, 양방향 연관관계일 때만 가능하다는 뜻이다.
확실하진 않지만 그래서 느슨한 연관관계로 풀어주는 것 같다.
'에러 일기' 카테고리의 다른 글