jpa-ddl-auto을 update로 설정했는데, 왜 DB스키마가 바뀌지않을까? 의문스러워서 다시 공부해봤다.
entity에 등록된 클래스와 매핑되는 테이블을 자동으로 생성해준다. 테이블이 이미 존재한다면 drop하고 생성한다.
create와 같지만 애플리케이션을 종료할 때 테이블을 삭제한다.
기존 테이블이 존재하면 테이블을 삭제하지 않고 컬럼을 변경한다. 하지만 모든 변경사항을 반영하는것이 아니라 기존에 존재하는 칼럼의 속성(nullable, 크기, 데이터타입)등은 건드리지않고, 새로운 컬럼이 추가되는 변경사항만 반영한다.
DDL을 작성하여 테이블을 생성하거나 수정하지 않고, entity클래스와 테이블이 정상적으로 매핑되는지만 검사한다. 만약 테이블이 존재하지 않거나 테이블의 컬럼과 엔티티의 필드가 매핑되지 않는 컬럼이 존재하면 예외를 발생시키면서 애플리케이션을 종료한다.
update 를 해도 속성이 바뀌지는 않는다! DB에서 쿼리를 작성해 직접 바꿔주던가, 새로 테이블을 생성해야했다.
'Today I Run' 카테고리의 다른 글
[SpringBoot] JPQL (0) | 2024.05.09 |
---|---|
[Git] Stash 알아보기 (0) | 2024.05.09 |
[CS] 2의 보수 (0) | 2024.05.08 |
[JAVA] String에서 +를 하면 안되는 이유 (0) | 2024.05.08 |
[MarkDown] MD문법 총정리! (0) | 2024.05.08 |