Heim >Java >javaLernprogramm >Spring Boot JPA: Warum wird meine Spaltennamenanmerkung ignoriert?
Spring Boot JPA-Spaltennamenanmerkung ignoriert
Dieses Problem tritt auf, wenn der angegebene Name der Spaltenanmerkung im generierten SQL ignoriert wird, was dazu führt, dass Es wird die Standardkonvention verwendet (z. B. Schlangenfall).
Ursache:
Standardmäßig verwendet Spring Boot den Hibernate-Dialekt, der der verbundenen Datenbank entspricht, was möglicherweise überschreibt Name der Spaltenanmerkung. In diesem Fall wird der SQL Server-Dialekt verwendet, der Spalten mithilfe der Benennung in Groß- und Kleinschreibung erstellt.
Lösung:
Um dieses Problem zu beheben und den mit Anmerkungen versehenen Spaltennamen sicherzustellen verwendet wird, kann man die standardmäßige Benennungsstrategie überschreiben, indem man explizit die folgenden Eigenschaften in der Datei application.properties festlegt:
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Diese Einstellungen geben an, dass die implizite Benennungsstrategie Tabellen- und Spaltennamen wie in definiert beibehalten soll Entitätsklasse, während die physische Benennungsstrategie Spaltennamen in das bevorzugte Format der Datenbank konvertieren sollte (z. B. Schlangenbuchstaben für MS SQL Server).
Durch die Konfiguration dieser Eigenschaften wird der mit Anmerkungen versehene Spaltenname im generierten SQL berücksichtigt , was eine größere Flexibilität und Kontrolle über die Spaltenbenennung ermöglicht.
Das obige ist der detaillierte Inhalt vonSpring Boot JPA: Warum wird meine Spaltennamenanmerkung ignoriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!