È possibile utilizzare Hibernate 4.3 o Hibernate 5.0 con Spring Boot 1.3. Come hai osservato, Hibernate 4.3.x è la versione predefinita.
Per utilizzare Hibernate 5.0, è necessario ignorare la proprietà hibernate.version
nella gestione delle dipendenze di Spring Boot. Supponendo che si sta utilizzando Maven:
<properties>
<hibernate.version>5.0.5.Final</hibernate.version>
</properties>
Quando si utilizza Hibernate 5.0, quella grande differenza da usando Hibernate 4.3.x è che si perde strategia di denominazione personalizzata di primavera Boot. A causa di una modifica sostanziale fatto in Hibernate 5.0, verrà visualizzato un avviso come questo registrato all'avvio:
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.
Se non ti piace di default di Hibernate 5, è possibile specificare una strategia di denominazione implicita personalizzata o fisico nella primavera del Boot di application.properties
utilizzando rispettivamente le proprietà spring.jpa.properties.hibernate.implicit_naming_strategy
e spring.jpa.properties.hibernate.physical_naming_strategy
.
fonte
2015-12-07 10:15:37
Grazie per la risposta dettagliata, tuttavia scusate la mia ignoranza, potresti approfondire come posso migrare in ibernazione 5 senza rompere nulla che già esiste? Esiste una strategia di denominazione che sostituisce quella attualmente utilizzata in "org.hibernate.cfg.ImprovedNamingStrategy"? O forse è una decisione migliore per trattenere Hibernate 5 al momento fino alla migrazione ufficiale di Spring? – prettyvoid