diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java
index 885c2bc..74cbc06 100644
--- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java
+++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRepositoryImpl.java
@@ -82,26 +82,16 @@ public class JdbcPetRepositoryImpl implements PetRepository {
@Override
public Pet findById(int id) throws DataAccessException {
- JdbcPet pet;
+ Integer ownerId;
try {
Map<String, Object> params = new HashMap<>();
params.put("id", id);
- pet = this.namedParameterJdbcTemplate.queryForObject(
- "SELECT id, name, birth_date, type_id, owner_id FROM pets WHERE id=:id",
- params,
- new JdbcPetRowMapper());
+ ownerId = this.namedParameterJdbcTemplate.queryForObject("SELECT owner_id FROM pets WHERE id=:id", params, Integer.class);
} catch (EmptyResultDataAccessException ex) {
throw new ObjectRetrievalFailureException(Pet.class, id);
}
- Owner owner = this.ownerRepository.findById(pet.getOwnerId());
- owner.addPet(pet);
- pet.setType(EntityUtils.getById(findPetTypes(), PetType.class, pet.getTypeId()));
-
- List<Visit> visits = this.visitRepository.findByPetId(pet.getId());
- for (Visit visit : visits) {
- pet.addVisit(visit);
- }
- return pet;
+ Owner owner = this.ownerRepository.findById(ownerId);
+ return EntityUtils.getById(owner.getPets(), Pet.class, id);
}
@Override