Compare commits

...

7 commits

Author SHA1 Message Date
Perumal Raj A
3dc92bb2f1
Merge e15623d232 into 2aa53f929d 2025-03-02 01:29:03 +08:00
Perumal Raj A
e15623d232 Improved the Owner search query
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
2025-02-22 05:38:18 +00:00
Perumal Raj A
2ab1cef91f Query Tunned for the Search Functionality
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
2025-02-22 05:32:51 +00:00
Perumal Raj A
1615fda9b2
Merge branch 'main' into main 2025-02-05 18:31:36 +05:30
Perumal Raj A
6bc5bd4af6 Resolved conflict in OwnerRepository.java
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
2025-02-05 12:47:13 +00:00
Perumal Raj A
98ccc1e2e4 Updated PR based on feedback
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
2025-02-05 09:44:41 +00:00
Perumal Raj A
94d6335022 Enhance_owner_search_functionality_1.0
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
2025-01-22 11:52:32 +00:00
3 changed files with 9 additions and 5 deletions

View file

@ -110,9 +110,9 @@ class OwnerController {
owner = ownersResults.iterator().next();
return "redirect:/owners/" + owner.getId();
}
// multiple owners found
return addPaginationModel(page, model, ownersResults);
}
private String addPaginationModel(int page, Model model, Page<Owner> paginated) {

View file

@ -24,6 +24,9 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
/**
* Repository class for <code>Owner</code> domain objects All method names are compliant
* with Spring Data naming conventions so this interface can easily be extended for Spring
@ -52,7 +55,9 @@ public interface OwnerRepository extends JpaRepository<Owner, Integer> {
* @return a Collection of matching {@link Owner}s (or an empty Collection if none
* found)
*/
Page<Owner> findByLastNameStartingWith(String lastName, Pageable pageable);
@Query("SELECT o FROM Owner o WHERE LOWER(CONCAT(o.firstName, ' ', o.lastName)) LIKE LOWER(CONCAT('%', :namePart, '%'))")
Page<Owner> findByLastNameStartingWith(@Param("namePart") String namePart, Pageable pageable);
/**
* Retrieve an {@link Owner} from the data store by id.

View file

@ -9,7 +9,7 @@
class="form-horizontal" id="search-owner-form">
<div class="form-group">
<div class="control-group" id="lastNameGroup">
<label class="col-sm-2 control-label">Last name </label>
<label class="col-sm-2 control-label">Search by Name</label>
<div class="col-sm-10">
<input class="form-control" th:field="*{lastName}" size="30"
maxlength="80" /> <span class="help-inline"><div
@ -21,8 +21,7 @@
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">Find
Owner</button>
<button type="submit" class="btn btn-primary">Search</button>
</div>
</div>