Essenzialmente quello che sto cercando di fare è aggiungere questa modifica alla proprietà in ibernazione, così posso abilitare l'istanziazione di oggetti compositi / incorporabili quando tutti i suoi valori di attributo sono nulli:
hibernate.create_empty_composites.enabled
Sono consapevole del fatto che il solito modo di modificare Hibernate è nel file application.properties in questo modo:
################################################################################
# JPA MANAGEMENT #
################################################################################
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true...
...
spring.jpa.properties.hibernate.create_empty_composites.enabled=true
Ma il spring.jpa.properties.hibernate.create_empty_composites.enabled=true
Non funziona. Non sono sicuro che Spring non riconosca determinate proprietà o se sia solo il posto sbagliato per dirla.
Quello che mi piacerebbe sapere è se c'è un altro modo per modificare direttamente le proprietà di Hibernate o se c'è un'altra correzione.
risposte:
0 per risposta № 1L'ipotesi di base. Più probabilmente stai usando Spring Boot 1.5. *.
Spring Boot 1.5. * Utilizza Hibernate 5.0. *. Prova GitHub.
Hibernate supporta il
hibernate.create_empty_composites.enabled
impostazione dalla versione 5.1.- Prova GitHub.
- Prova JIRA (?): [HHH-7610] Opzione per l'inserimento di vuoto (non null) incorporato quando tutte le colonne sono NULL - Hibernate JIRA.
- Prova delle note di rilascio: Versione 5.1 di ORM.
Soluzione
Per favore considera di aggiornare la dipendenza da Hibernate nel tuo pom.xml
a una versione più recente (5.1 e successive).
Dopodiché, dovrebbe funzionare bene:
Inoltre tutte le proprietà in
spring.jpa.properties.*
sono passati come normali proprietà JPA (con il prefisso spogliato) quando il localeEntityManagerFactory
è creato.- Spring Boot 1.5. * Riferimento, 77. Accesso ai dati, 77.5 Configurare le proprietà JPA.