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