mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-15 12:15:50 +00:00
Adding a DISTINCT clause so we only have users once
This commit is contained in:
parent
b3b536194a
commit
d28f4e5257
2 changed files with 2 additions and 2 deletions
|
@ -45,7 +45,7 @@ public class JpaOwnerRepositoryImpl implements OwnerRepository {
|
||||||
public Collection<Owner> findByLastName(String lastName) {
|
public Collection<Owner> findByLastName(String lastName) {
|
||||||
// using 'join fetch' because a single query should load both owners and pets
|
// using 'join fetch' because a single query should load both owners and pets
|
||||||
// using 'left join fetch' because it might happen that an owner does not have pets yet
|
// using 'left join fetch' because it might happen that an owner does not have pets yet
|
||||||
Query query = this.em.createQuery("SELECT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName");
|
Query query = this.em.createQuery("SELECT DISTINCT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName");
|
||||||
query.setParameter("lastName", lastName + "%");
|
query.setParameter("lastName", lastName + "%");
|
||||||
return query.getResultList();
|
return query.getResultList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class JpaOwnerRepositoryImpl implements OwnerRepository {
|
||||||
public Collection<Owner> findByLastName(String lastName) {
|
public Collection<Owner> findByLastName(String lastName) {
|
||||||
// using 'join fetch' because a single query should load both owners and pets
|
// using 'join fetch' because a single query should load both owners and pets
|
||||||
// using 'left join fetch' because it might happen that an owner does not have pets yet
|
// using 'left join fetch' because it might happen that an owner does not have pets yet
|
||||||
Query query = this.em.createQuery("SELECT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName");
|
Query query = this.em.createQuery("SELECT DISTINCT owner FROM Owner owner left join fetch owner.pets WHERE owner.lastName LIKE :lastName");
|
||||||
query.setParameter("lastName", lastName + "%");
|
query.setParameter("lastName", lastName + "%");
|
||||||
return query.getResultList();
|
return query.getResultList();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue