복붙노트

[SPRING] 어떻게 spring.jpa.hibernate.ddl - 자동 속성을 정확히 봄에서 작동합니까?

SPRING

어떻게 spring.jpa.hibernate.ddl - 자동 속성을 정확히 봄에서 작동합니까?

나는 나의 봄 부팅 응용 프로그램 프로젝트를 진행하고 때로는 다른 서버 (SQL 서버) 내 데이터베이스에 오류 연결 시간 제한이 있음을 발견했다. 나는 철새 이동 경로 일부 스크립트 마이그레이션을 수행하려고하지만 몇 번을 시도해도 작동 할 때 특별히 발생합니다.

그럼 난 내 속성 파일에 spring.jpa.hibernate.ddl - 자동차를 지정하지 않은 것으로 나타났습니다. 제가 조사를 좀 해봤가 추가하는 것이 좋습니다 것을 발견  spring.jpa.hibernate.ddl 오토 = 생성 드롭 개발을.  생산 spring.jpa.hibernate.ddl 오토 = 없음 : 그리고로 변경.

하지만 실제로는 정말 작동합니까 어떻게 만들 드롭 또는 없음 값을 사용하여 데이터베이스 스키마를 생성 최대 절전 않는 방법을 이해하지 않았다. 당신은 정말 작동합니까 방법을 기술적으로 설명해주십시오, 개발 및 프로덕션 서버에서이 속성을 사용하기위한 권장 사항은 무엇인가 할 수 있습니다. 감사합니다

해결법

  1. ==============================

    1.기록의 경우, spring.jpa.hibernate.ddl - 자동 속성은 스프링 데이터 JPA 고유의 것입니다 결국 그것이 알고 재산, hibernate.hbm2ddl.auto에서 최대 절전 모드로 전달 될 값을 지정하는 그들의 방법입니다.

    기록의 경우, spring.jpa.hibernate.ddl - 자동 속성은 스프링 데이터 JPA 고유의 것입니다 결국 그것이 알고 재산, hibernate.hbm2ddl.auto에서 최대 절전 모드로 전달 될 값을 지정하는 그들의 방법입니다.

    값은, 검증 및 업데이트 드롭을 만들 기본적으로 스키마 공구 관리가 시작시 데이터베이스 스키마를 조작하는 방법에 영향을 만듭니다.

    예를 들어, 업데이트 작업은 데이터베이스 메타 데이터를 얻을 수있는 JDBC 드라이버의 API를 쿼리합니다 다음 최대 절전 모드는 주석이 달린 클래스 나 HBM의 XML 매핑을 읽고이를 기반으로 만듭니다 개체 모델을 비교하고 즉석 스키마를 조정하려고 시도합니다.

    예를 들어, 업데이트 작업 등 새로운 열, 제약 조건을 추가하려고 시도하지만, 이전에 존재하지하지만 더 이상 이전 실행에서 개체 모델의 일부로서 수행 한 수있는 열이나 제약 조건을 제거하지 않습니다.

    당신이 당신의 스키마를 만들 수 있도록 일반적으로 테스트 케이스 시나리오에서, 당신은 가능성이 만들어 놓기를 사용합니다, 테스트 케이스는 떠나, 당신은 당신의 테스트를 실행하고 테스트 케이스를 정리하는 동안, 스키마 객체는 삭제됩니다 일부 모의 데이터를 추가 빈 데이터베이스.

    개발에서는 개발자가 자동으로 다시 시작에 새로운 추가를 추가 할 스키마를 수정하는 업데이트를 사용 참조하는 것이 일반적입니다. 그러나 다시 이해, 이것은 더 이상 필요가 이전 실행에서 존재할 수있는 열 또는 제약 조건을 제거하지 않습니다.

    생산, 종종 매우 없음을 사용하거나 단순히이 속성을 지정하지 좋습니다. 이 데이터베이스는 여러 서비스 및 응용 프로그램에서 공유되는 경우 특히 DBA가 데이터베이스 변경 이주 스크립트를 검토하는 것이 일반적이기 때문이다.

  2. from https://stackoverflow.com/questions/42135114/how-does-spring-jpa-hibernate-ddl-auto-property-exactly-work-in-spring by cc-by-sa and MIT license