Error

[Spring boot, JPA - 에러 해결] Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection

chea-young

1. 에러 메시지

Caused by: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements:

 


2. 원인

1
2
3
4
5
6
7
8
9
10
11
12
// User entity 부분
 
    @OneToMany(mappedBy = "user")
    private Subscribe subscribe;
 
---------------------------------------------------------------
 
// Subscribe entity 부분
 
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id")
    private User user; // 회원 id
 

1:1에서 1:*로 entity relation을 수정한 후 서버를 구동시킬 때 위와 같은 오류가 나왔다.


3. 해결

1
2
3
4
5
6
7
8
9
10
11
12
// User entity 부분
 
    @OneToMany(mappedBy = "user")
    private List<Subscribe> subscribe = new ArrayList<>(); // 
 
---------------------------------------------------------------
 
// Subscribe entity 부분
 
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id")
    private User user; // 회원 id
 

어노테이션은 수정을 했지만 1:*로 수정하면서 User entity의 부분을 List로 변경하지 않아 생긴 문제였다.

 


참고 사이트

- https://ppusari.tistory.com/183