복붙노트

[SPRING] 봄 부팅 1.3.0 지원 최대 절전 모드 5?

SPRING

봄 부팅 1.3.0 지원 최대 절전 모드 5?

나는 Hibernate5에 대한 SpringBoot (1.3.0) 지원에 대해 약간 혼란스러워한다. 이 레퍼런스는 하이버 네이트 4.3.11. 최종에 대한 의존성을 열거하지만, Hibernate5 지원을 포함하는 SpringFramework 4.2.3에 대한 의존성을 열거한다.

Boot Bundles을 오버라이드하기 위해 여분의 Hibernate5 의존성을 추가하는 것일 뿐인가? 누군가 나를 위해 명확히 해줄 수 있습니까?

해결법

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

    1.Spring Boot 1.3과 함께 Hibernate 4.3 또는 Hibernate 5.0을 사용할 수있다. 당신이 보았 듯이, Hibernate 4.3.x가 디폴트 버전이다.

    Spring Boot 1.3과 함께 Hibernate 4.3 또는 Hibernate 5.0을 사용할 수있다. 당신이 보았 듯이, Hibernate 4.3.x가 디폴트 버전이다.

    Hibernate 5.0을 사용하려면 Spring Boot의 의존성 관리에서 hibernate.version 속성을 오버라이드해야한다. Maven을 사용한다고 가정합니다.

    <properties>
        <hibernate.version>5.0.5.Final</hibernate.version>
    </properties>
    

    Hibernate 5.0을 사용할 때, Hibernate 4.3.x 사용과 큰 차이점은 Spring Boot의 커스텀 네이밍 전략을 잃어 버릴 것이라는 점이다. Hibernate 5.0에서 이루어진 변경으로 인해 시작시에 다음과 같은 경고가 나타납니다 :

    2015-12-07 10:04:56.911  WARN 81371 --- [           main] org.hibernate.orm.deprecation            : HHH90000006: Attempted to specify unsupported NamingStrategy via setting [hibernate.ejb.naming_strategy]; NamingStrategy has been removed in favor of the split ImplicitNamingStrategy and PhysicalNamingStrategy; use [hibernate.implicit_naming_strategy] or [hibernate.physical_naming_strategy], respectively, instead.
    

    Hibernate 5의 디폴트 값을 싫어하면 spring.jpa.properties.hibernate.implicit_naming_strategy와 spring.jpa.properties.hibernate.physical_naming_strategy 속성을 각각 사용하여 Spring Boot의 application.properties에서 사용자 정의 암시 적 또는 물리적 이름 지정 전략을 지정할 수있다.

  2. ==============================

    2.Update 2016 년 7 월 : Spring Boot 1.4.0의 릴리즈에서 기본 Hibernate 5가 기본 JPA 지속성 공급자로 사용됩니다.

    Update 2016 년 7 월 : Spring Boot 1.4.0의 릴리즈에서 기본 Hibernate 5가 기본 JPA 지속성 공급자로 사용됩니다.

    Hibernate 5 로의 마이그레이션에 대한 티켓이 얼마전에 나왔다. 가장 큰 이유는 이름 전략의 비 호환성 때문인 것 같다. 현재 티켓은 현재 1.4.0으로 예약되어 있습니다.

  3. ==============================

    3.고마워! 많은 시련 끝에,이 솔루션은 나를 위해 매력처럼 일했습니다! 맞춤 전략을 구현하고 아래에 표시된대로 application.yml에 설정했습니다.

    고마워! 많은 시련 끝에,이 솔루션은 나를 위해 매력처럼 일했습니다! 맞춤 전략을 구현하고 아래에 표시된대로 application.yml에 설정했습니다.

       jpa:
        database: MYSQL
        database-platform: org.hibernate.dialect.MySQL5Dialect
        properties:
            hibernate:
                implicit_naming_strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
                physical_naming_strategy: com.quicken.ups.entities.utils.DBFieldNamingStrategy
    
  4. from https://stackoverflow.com/questions/34124140/springboot-1-3-0-support-hibernate-5 by cc-by-sa and MIT license