From b9414e29d707cc99ad9007b0261bad3013a1d7fb Mon Sep 17 00:00:00 2001 From: Hoyoung Jung Date: Mon, 2 Mar 2020 18:26:59 +0900 Subject: [PATCH] Feat: Search by firstName MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 인프런 기선님 강의 과제 1 --- .../samples/petclinic/owner/OwnerController.java | 6 +++--- .../samples/petclinic/owner/OwnerRepository.java | 3 +++ src/main/resources/application.properties | 2 +- src/main/resources/templates/owners/findOwners.html | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java index 79aa4cd9b..f99d31aba 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java @@ -83,12 +83,12 @@ class OwnerController { public String processFindForm(Owner owner, BindingResult result, Map model) { // allow parameterless GET request for /owners to return all records - if (owner.getLastName() == null) { - owner.setLastName(""); // empty string signifies broadest possible search + if (owner.getFirstName() == null) { + owner.setFirstName(""); // empty string signifies broadest possible search } // find owners by last name - Collection results = this.owners.findByLastName(owner.getLastName()); + Collection results = this.owners.findByFirstName(owner.getFirstName()); if (results.isEmpty()) { // no owners found result.rejectValue("lastName", "notFound", "not found"); diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java index 0613e928a..c543723de 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java @@ -61,4 +61,7 @@ public interface OwnerRepository extends Repository { */ void save(Owner owner); + @Query("SELECT DISTINCT owner FROM Owner owner left join fetch owner.pets WHERE owner.firstName LIKE :firstName%") + @Transactional(readOnly = true) + Collection findByFirstName(String firstName); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b93ff4de3..9b0305cd5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -18,7 +18,7 @@ management.endpoints.web.exposure.include=* # Logging logging.level.org.springframework=INFO -# logging.level.org.springframework.web=DEBUG +logging.level.org.springframework.web=DEBUG # logging.level.org.springframework.context.annotation=TRACE # Maximum time static resources should be cached diff --git a/src/main/resources/templates/owners/findOwners.html b/src/main/resources/templates/owners/findOwners.html index 134e687fd..512126ab0 100644 --- a/src/main/resources/templates/owners/findOwners.html +++ b/src/main/resources/templates/owners/findOwners.html @@ -9,9 +9,9 @@ class="form-horizontal" id="search-owner-form">
- +
-

Error