inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

데이터베이스 스키마 자동 생성

ddl 속성 질문

해결된 질문

411

dongjoo

작성한 질문수 6

0

안녕하세요. ddl 속성 통해서 스키마 자동 생성하는 부분에서 이해가 안되는 부분이 있어서 질문드립니다.

이전 강의까지의 예제에서 ddl 설정값을 주석처리했는데도 h2 콘솔상에서 member 테이블이 생성되고 데이터가 삽입된 것을 확인했습니다.

ddl-auto 속성값을 none 또는 주석처리해도 @Entity 애노테이션을 기준으로 알아서 테이블을 만들어주는 건가요? 만약 그렇다면, 운영서버에서 자동 생성을 사용하지 말아야한다고 하셨는데 @Entity 애노테이션을 통해 자동으로 테이블이 생성되는 것을 어떻게 막을 수 있나요??

ddl schema JPA java auto database

답변 2

0

spring

삭제된 글입니다

0

David

확인 감사합니다.

핵심은 이전에 테이블을 생성했었고 해당 테이블이 남아있어서 발생한 문제입니다.

0

David

안녕하세요. dongju님, 공식 서포터즈 David입니다.
.

H2를 Memory가 아닌 Local에서 설치된 것을 사용중이신가요?

만약 그렇다면 ddl-auto:create 때 생성되었던 테이블이 남아있을 수 있습니다.

프로젝트 실행 전 모든 테이블을 삭제한 뒤 다시 시도해보시겠어요?

H2를 Memory에 올라가 있다면 실행 종료시 메모리에 올라가 있던 테이블이 날아갑니다. 그러나 로컬에 설치된 H2라면 생성한 테이블들이 프로그램 종료시 삭제되진 않습니다.

.
감사합니다.

0

dongjoo

@Entity 애노테이션이 있어도 ddl 속성이 안켜져있으면 테이블 생성이 안되는게 정상이라는 말씀이신건가요?? 메모리로 실행한건지 뭐로 실행한건지 잘 모르겠습니다..ㅠ h2 사이트에서 콘솔 다운받아서 콘솔 실행하고 메모리가 아닌 tcp 로컬 연결한것 같습니다.

0

dongjoo

0

David

ddl-auto가 none이면 테이블 생성 안되는게 맞습니다.

메모리가 아니라면 제가 위에 말씀드린대로 ddl-audo:create일 때 생성된 테이블이 남아있어서 ddl-auto:none으로 재실행해도 테이블이 그대로 보여지는 것 같습니다.

0

dongjoo

감사합니다!!

실무 조언 관련 질문입니다.

0

41

1

H2데이터베이스 파일 생성

0

49

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

49

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

47

1

JPQL 메소드와 락

0

50

1

Delivery @OneToOne

0

57

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

88

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

87

2

연관관계 매핑 질문드립니다.

0

81

2

h2데이터베이스 실행오류

0

104

2

persistence.xml

0

102

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

89

1

Native Query와 MyBatis

0

63

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

82

1

임베디드 타입 예시 코드 관련 질문

0

112

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

90

3

인텔리제이 패키지 커서 단축키 질문

0

106

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

135

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1

임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.

0

95

1

데이터베이스가 초기화되는 것 같아요

1

175

2