Maison >Java >javaDidacticiel >Spring Boot JPA : pourquoi l'annotation de mon nom de colonne est-elle ignorée ?
Annotation du nom de colonne JPA Spring Boot ignorée
Ce problème survient lorsque le nom spécifié de l'annotation de colonne est ignoré dans le SQL généré, ce qui entraîne le convention par défaut utilisée (par exemple, le cas du serpent).
Cause :
Par défaut, Spring Boot utilise le dialecte Hibernate correspondant à la base de données connectée, qui peut remplacer le nom de l'annotation de colonne. Dans ce cas, le dialecte SQL Server est utilisé, ce qui crée des colonnes en utilisant la dénomination en casse serpent.
Solution :
Pour résoudre ce problème et garantir le nom de colonne annoté est utilisé, on peut remplacer la stratégie de dénomination par défaut en définissant explicitement les propriétés suivantes dans le fichier application.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
Ces paramètres spécifient que la stratégie de dénomination implicite doit conserver les noms de table et de colonne tels que définis dans le classe d'entité, tandis que la stratégie de dénomination physique doit convertir les noms de colonnes au format préféré de la base de données (par exemple, le cas du serpent pour MS SQL Server).
En configurant ces propriétés, le nom de colonne annoté sera respecté dans le SQL généré , permettant une plus grande flexibilité et un plus grand contrôle sur la dénomination des colonnes.
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!