Spring Boot 애플리케이션은 테이블, 테이블 열, 기본 키 생성 및 삭제와 같은 데이터베이스의 구조적 변경을 수행 할 수 있습니다.
이를 위해 응용 프로그램 권한을 제거하는 방법이 있습니까?
응용 프로그램이 선택, 삽입, 업데이트 및 삭제의 일반적인 작업 만 수행하도록 허용 하시겠습니까?
테이블 생성 및 삭제와 같은 db의 구조적 변경은 데이터베이스에서 직접 수행해야합니다.
어쨌든 그렇게 할 수 있습니까?
Spring Boot 애플리케이션은 테이블, 테이블 열, 기본 키 생성 및 삭제와 같은 데이터베이스의 구조적 변경을 수행 할 수 있습니다.
이를 위해 응용 프로그램 권한을 제거하는 방법이 있습니까?
응용 프로그램이 선택, 삽입, 업데이트 및 삭제의 일반적인 작업 만 수행하도록 허용 하시겠습니까?
테이블 생성 및 삭제와 같은 db의 구조적 변경은 데이터베이스에서 직접 수행해야합니다.
어쨌든 그렇게 할 수 있습니까?
Spring은 Hibernate가 DDL 생성을 위해 사용하는 JPA 특정 속성을 제공합니다 : spring.jpa.hibernate.ddl-auto
.
표준 Hibernate 속성 값은 다음과 같습니다 : create, update, create-drop, validate 및 none
create
– Hibernate는 먼저 기존 테이블을 삭제 한 다음 새 테이블을 생성합니다.
update
– 매핑 (어노테이션 또는 XML)을 기반으로 생성 된 객체 모델을 기존 스키마와 비교 한 다음 Hibernate는 diff에 따라 스키마를 업데이트합니다. 응용 프로그램에서 더 이상 필요하지 않더라도 기존 테이블 또는 열을 삭제하지 않습니다.
create-drop
– create와 비슷하지만 모든 작업이 완료된 후 Hibernate가 데이터베이스를 삭제한다는 추가 기능이 있습니다. 일반적으로 단위 테스트에 사용
validate
– Hibernate는 테이블과 열이 존재하는지 여부 만 확인합니다. 그렇지 않으면 예외가 발생합니다.
none
–이 값은 DDL 생성을 효과적으로 끕니다.
귀하의 경우에는 스프링 부트가 DB 스키마를 자동으로 업데이트하지 않도록 파일 에서 속성 spring.jpa.hibernate.ddl-auto
을 로 변경 해야합니다.none
application.properties
도움이 되었기를 바랍니다 . 자세한 정보는 https://docs.spring.io/spring-boot/docs/1.1.0.M1/reference/html/howto-database-initialization.html
Spring :`RequestScope` 대`RequestContextHolder` (0) | 2021.03.14 |
---|---|
JSESSIONID없이 StompCommand.CONNECT를 수행 할 수 있지만 X-XSRF-TOKEN이 필요한 이유는 무엇입니까? (0) | 2021.03.14 |
Java 11의 새로운 기능 (0) | 2021.03.14 |
Spring Boot의 Swagger 문서에서 끝점 숨기기 (0) | 2021.03.13 |
Spring Validator와 JSR 303을 혼합하는 방법 (0) | 2021.03.13 |