From c76c1a1d67126909e0a8f0b8a94d541f239fed30 Mon Sep 17 00:00:00 2001 From: Philippe Marschall Date: Sat, 20 Dec 2025 22:32:00 +0100 Subject: [PATCH] Use snake case physical naming strategy Use snake case physical naming strategy to reduce the need to specify column names. Signed-off-by: Philippe Marschall --- .../samples/petclinic/model/NamedEntity.java | 2 +- .../org/springframework/samples/petclinic/model/Person.java | 4 ++-- .../org/springframework/samples/petclinic/owner/Owner.java | 6 +++--- .../org/springframework/samples/petclinic/owner/Pet.java | 2 +- src/main/resources/application.properties | 1 + 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java b/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java index 7149c22ed..61e882a95 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java +++ b/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java @@ -30,7 +30,7 @@ import jakarta.validation.constraints.NotBlank; @MappedSuperclass public class NamedEntity extends BaseEntity { - @Column(name = "name") + @Column @NotBlank private String name; diff --git a/src/main/java/org/springframework/samples/petclinic/model/Person.java b/src/main/java/org/springframework/samples/petclinic/model/Person.java index 7ee1f0397..30b5829d8 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/Person.java +++ b/src/main/java/org/springframework/samples/petclinic/model/Person.java @@ -27,11 +27,11 @@ import jakarta.validation.constraints.NotBlank; @MappedSuperclass public class Person extends BaseEntity { - @Column(name = "first_name") + @Column @NotBlank private String firstName; - @Column(name = "last_name") + @Column @NotBlank private String lastName; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java index 715863cd2..480a7a690 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java @@ -48,15 +48,15 @@ import jakarta.validation.constraints.NotBlank; @Table(name = "owners") public class Owner extends Person { - @Column(name = "address") + @Column @NotBlank private String address; - @Column(name = "city") + @Column @NotBlank private String city; - @Column(name = "telephone") + @Column @NotBlank @Pattern(regexp = "\\d{10}", message = "{telephone.invalid}") private String telephone; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java index 1945f9b67..4f8409ef2 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java @@ -45,7 +45,7 @@ import jakarta.persistence.Table; @Table(name = "pets") public class Pet extends NamedEntity { - @Column(name = "birth_date") + @Column @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate birthDate; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 6ed985654..630c1145a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -9,6 +9,7 @@ spring.thymeleaf.mode=HTML # JPA spring.jpa.hibernate.ddl-auto=none spring.jpa.open-in-view=false +spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategySnakeCaseImpl # Internationalization spring.messages.basename=messages/messages