Skip to content
Snippets Groups Projects
Commit 18aa56c9 authored by michaelisvy's avatar michaelisvy
Browse files

Merge pull request #4 from jdubois/master

2 bug corrections
parents 9ee5e6f0 d28f4e52
No related branches found
No related tags found
No related merge requests found
...@@ -45,7 +45,7 @@ public class JpaOwnerRepositoryImpl implements OwnerRepository { ...@@ -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 { ...@@ -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();
} }
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
<!-- import the dataSource definition --> <!-- import the dataSource definition -->
<import resource="datasource-config.xml"/> <import resource="datasource-config.xml"/>
<context:component-scan
base-package="org.springframework.samples.petclinic.service"/>
<!-- Configurer that replaces ${...} placeholders with values from a properties file --> <!-- Configurer that replaces ${...} placeholders with values from a properties file -->
<!-- (in this case, JDBC-related settings for the JPA EntityManager definition below) --> <!-- (in this case, JDBC-related settings for the JPA EntityManager definition below) -->
...@@ -40,7 +42,7 @@ ...@@ -40,7 +42,7 @@
<!-- <!--
Instruct Spring to perform declarative transaction management Instruct Spring to perform declarative transaction management
automatically on annotated classes. automatically on annotated classes.
for mode="aspectj"/ see SPR-6392 for mode="aspectj"/ see SPR-6392
--> -->
<tx:annotation-driven/> <tx:annotation-driven/>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- POJOs labeled with the @Controller and @Service annotations are auto-detected. - POJOs labeled with the @Controller and @Service annotations are auto-detected.
--> -->
<context:component-scan <context:component-scan
base-package="org.springframework.samples.petclinic.web, org.springframework.samples.petclinic.service"/> base-package="org.springframework.samples.petclinic.web"/>
<mvc:annotation-driven conversion-service="conversionService"/> <mvc:annotation-driven conversion-service="conversionService"/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment