Annotation du nom de colonne ignorée dans Spring Boot JPA
Problème :
Malgré l'utilisation des annotations de colonne dans les applications Spring Boot avec dépendance data-jpa, les noms de colonnes de table SQL générés diffèrent des annotations.
Cause :
Ce comportement est généralement dû au dialecte de mise en veille prolongée utilisé. Dans les versions antérieures à Hibernate 5, Hibernate utilise une stratégie de dénomination par défaut qui préfixe les noms de colonnes avec un trait de soulignement. Pour remplacer cette stratégie, vous devez spécifier explicitement la stratégie de dénomination.
Solution :
Pour Hibernate 4 :
Définissez la propriété spring.jpa.hibernate.naming_strategy sur org.hibernate.cfg.EJB3NamingStrategy:
<code class="properties">spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy</code>
Pour Hibernate 5 :
Ajoutez les lignes suivantes à votre Fichier application.properties :
<code class="properties">spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl</code>
En utilisant ces paramètres, Hibernate adoptera une stratégie de nommage qui respecte les annotations de colonnes spécifiées dans vos entités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!