Maison  >  Article  >  Java  >  Voici quelques options de titre, mettant l’accent sur la question et le problème : Court et direct : * Pourquoi mes annotations de colonnes sont-elles ignorées dans Spring Boot JPA ? * Spring Boot JPA : les noms de colonnes ne correspondent pas

Voici quelques options de titre, mettant l’accent sur la question et le problème : Court et direct : * Pourquoi mes annotations de colonnes sont-elles ignorées dans Spring Boot JPA ? * Spring Boot JPA : les noms de colonnes ne correspondent pas

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 05:34:30518parcourir

Here are a few title options, emphasizing the question and problem:

Short & Direct:

* Why Are My Column Annotations Ignored in Spring Boot   JPA? 
* Spring Boot   JPA: Column Names Not Matching Annotations - Why?

More Specific:

* Spring Boot   JPA: Un

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn