728x90
반응형
현상
빌더 패턴 방식을 이용하여 Entity를 만들고, XxxRepository.save(XxxEntity)로 DB에 Entity 값을 저장하려는데, 아래와 같이 Cannot insert... 에러가 발생했다.
에러 화면
빌더 패턴으로 Entity 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
XxxEntity xxxEntity = XxxEntity.builder()
.Column1(Column1에 들어갈 값)
.Column2(Column2에 들어갈 값)
.Column3(Column3에 들어갈 값)
.Column4(Column4에 들어갈 값)
.Column5(Column5에 들어갈 값)
//원인 : 요 사이 값들은 필수값 인데도 안넣어줌
.Column10(Column10에 들어갈 값)
.Column11(Column11에 들어갈 값)
.Column12(Column12에 들어갈 값)
.Column13(Column13에 들어갈 값)
.Column14(Column14에 들어갈 값)
.Column15(Column15에 들어갈 값)
.Column16(Column16에 들어갈 값)
.build();
|
cs |
Save하기
1
|
XxxRepository.save(XxxEntity);
|
cs |
원인
Entity를 정의하는 테이블에서, 필수값으로 지정된 값들을 Entity 생성시에 넣어주지 않았기 때문에 발생하였다.
(예를들어 현상 부분에서 Column6~Column9가 필수값임에도 빌더패턴에서 값을 넣어주지 않음)
해결
필수값으로 지정된 컬럼값들은 반드시 넣어주도록 한다.
팁
intelliJ에서 table부분을 보면, 아이콘에 동그라미 표시가 되어있는 부분이 있는데, 해당 값들은 필수값이므로 Entity 작성 시에 반드시 넣어주어야 save가 가능하다.
728x90
반응형