Heim >Java >javaLernprogramm >Spring Boot JPA: Warum wird meine Spaltennamenanmerkung ignoriert?

Spring Boot JPA: Warum wird meine Spaltennamenanmerkung ignoriert?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 16:16:29818Durchsuche

  Spring Boot   JPA: Why is my Column Name Annotation Ignored?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn