Repository 생성 후 테스트하는 과정에서 에러가 발생했다.
에러 내용
- Time 테이블을 찾을 수 없다는 에러가 테스트 메소드에서 발생
- 자세한 내용 확인을 위해 클래스의 에러 확인
- "Error executing DDL" 에러 발생 확인
원인
- "Error executing DDL"가 발생한 원인을 검색해 보니 예약된 문구를 컬럼으로 사용하면 발생한다는걸 확인
@Getter
@NoArgsConstructor
@Entity
public class Time {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String group;
private String subject;
private LocalDateTime date;
private Duration duration;
@Builder
public Time(String groupName, String subject, LocalDateTime date, Duration duration) {
this.group = groupName;
this.subject = subject;
this.date = date;
this.duration = duration;
}
}
- 4개의 컬럼 중 하나가 문제가 되므로 컬럼 이름을 변경해 주어야 한다.
해결
- 결과적으로는 group이 sql에 예약되어 있어 발생
- group을 groupName으로 변경하여 해결
@Getter
@NoArgsConstructor
@Entity
public class Time {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String groupName; // 수정
private String subject;
private LocalDateTime date;
private Duration duration;
@Builder
public Time(String groupName, String subject, LocalDateTime date, Duration duration) {
this.groupName = groupName;
this.subject = subject;
this.date = date;
this.duration = duration;
}
}
'ETC > Spring' 카테고리의 다른 글
[error] Failed to load ApplicationContext (1) | 2023.05.27 |
---|