해결된 질문
작성
·
326
0
안녕하세요. ddl 속성 통해서 스키마 자동 생성하는 부분에서 이해가 안되는 부분이 있어서 질문드립니다.
이전 강의까지의 예제에서 ddl 설정값을 주석처리했는데도 h2 콘솔상에서 member 테이블이 생성되고 데이터가 삽입된 것을 확인했습니다.
ddl-auto 속성값을 none 또는 주석처리해도 @Entity 애노테이션을 기준으로 알아서 테이블을 만들어주는 건가요? 만약 그렇다면, 운영서버에서 자동 생성을 사용하지 말아야한다고 하셨는데 @Entity 애노테이션을 통해 자동으로 테이블이 생성되는 것을 어떻게 막을 수 있나요??
답변 2
0
0
@Entity 애노테이션이 있어도 ddl 속성이 안켜져있으면 테이블 생성이 안되는게 정상이라는 말씀이신건가요?? 메모리로 실행한건지 뭐로 실행한건지 잘 모르겠습니다..ㅠ h2 사이트에서 콘솔 다운받아서 콘솔 실행하고 메모리가 아닌 tcp 로컬 연결한것 같습니다.
ddl-auto가 none이면 테이블 생성 안되는게 맞습니다.
메모리가 아니라면 제가 위에 말씀드린대로 ddl-audo:create일 때 생성된 테이블이 남아있어서 ddl-auto:none으로 재실행해도 테이블이 그대로 보여지는 것 같습니다.
확인 감사합니다.
핵심은 이전에 테이블을 생성했었고 해당 테이블이 남아있어서 발생한 문제입니다.