diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcOwnerRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcOwnerRepositoryImpl.java index 4fea7d88646392774c312f60fd6ad60e35c94d8b..f4fc842f9710e146907dbfda34442b817e5c4143 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcOwnerRepositoryImpl.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcOwnerRepositoryImpl.java @@ -116,7 +116,7 @@ public class JdbcOwnerRepositoryImpl implements OwnerRepository { Map<String, Object> params = new HashMap<>(); params.put("id", owner.getId()); final List<JdbcPet> pets = this.namedParameterJdbcTemplate.query( - "SELECT pets.id, name, birth_date, type_id, owner_id, visits.id as visit_id, visit_date, description, pet_id FROM pets LEFT OUTER JOIN visits ON pets.id = pet_id WHERE owner_id=:id", + "SELECT pets.id as pets_id, name, birth_date, type_id, owner_id, visits.id as visit_id, visit_date, description, visits.pet_id as visits_pet_id FROM pets LEFT OUTER JOIN visits ON pets.id = visits.pet_id WHERE owner_id=:id ORDER BY pets.id", params, new JdbcPetVisitExtractor() ); 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 0ca139808c0964741b37e45eb6bf086a1ac519dc..9911ff5c0529d7b12df1baac4d98bbcb3c16ee2e 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 @@ -133,7 +133,7 @@ public class JdbcPetRepositoryImpl implements PetRepository { Collection<Pet> pets = new ArrayList<Pet>(); Collection<JdbcPet> jdbcPets = new ArrayList<JdbcPet>(); jdbcPets = this.namedParameterJdbcTemplate - .query("SELECT pets.id, name, birth_date, type_id, owner_id FROM pets", + .query("SELECT pets.id as pets_id, name, birth_date, type_id, owner_id FROM pets", params, new JdbcPetRowMapper()); Collection<PetType> petTypes = this.namedParameterJdbcTemplate.query("SELECT id, name FROM types ORDER BY name", diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java index 7a89d6434a61cb6fde26b1a74f5d7bb7c54da4b7..f034e20b9163807abfc4d3b66fdaee8b5458e4f0 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetRowMapper.java @@ -30,7 +30,7 @@ public class JdbcPetRowMapper implements RowMapper<JdbcPet> { @Override public JdbcPet mapRow(ResultSet rs, int rownum) throws SQLException { JdbcPet pet = new JdbcPet(); - pet.setId(rs.getInt("pets.id")); + pet.setId(rs.getInt("pets_id")); pet.setName(rs.getString("name")); Date birthDate = rs.getDate("birth_date"); pet.setBirthDate(new Date(birthDate.getTime())); diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetVisitExtractor.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetVisitExtractor.java index 6a4ba62c3e4c0143ec374c6814eb4905889a253c..f6483e35691330ccdf8fac7971434667de17a315 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetVisitExtractor.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcPetVisitExtractor.java @@ -35,15 +35,15 @@ public class JdbcPetVisitExtractor extends @Override protected Integer mapPrimaryKey(ResultSet rs) throws SQLException { - return rs.getInt("pets.id"); + return rs.getInt("pets_id"); } @Override protected Integer mapForeignKey(ResultSet rs) throws SQLException { - if (rs.getObject("visits.pet_id") == null) { + if (rs.getObject("visits_pet_id") == null) { return null; } else { - return rs.getInt("visits.pet_id"); + return rs.getInt("visits_pet_id"); } } diff --git a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java index 165f7e3525328815140e60d91841f571da3acee8..140b7395cb81a7b54525a30ed8ad63352f108e18 100644 --- a/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java +++ b/src/main/java/org/springframework/samples/petclinic/repository/jdbc/JdbcVisitRepositoryImpl.java @@ -87,7 +87,7 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { Map<String, Object> params = new HashMap<>(); params.put("id", petId); JdbcPet pet = this.namedParameterJdbcTemplate.queryForObject( - "SELECT id, name, birth_date, type_id, owner_id FROM pets WHERE id=:id", + "SELECT id as pets_id, name, birth_date, type_id, owner_id FROM pets WHERE id=:id", params, new JdbcPetRowMapper()); @@ -109,7 +109,7 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { Map<String, Object> params = new HashMap<>(); params.put("id", id); visit = this.namedParameterJdbcTemplate.queryForObject( - "SELECT id as visit_id, pet_id, visit_date, description FROM visits WHERE id= :id", + "SELECT id as visit_id, visits.pet_id as pets_id, visit_date, description FROM visits WHERE id= :id", params, new JdbcVisitRowMapperExt()); } catch (EmptyResultDataAccessException ex) { @@ -122,7 +122,7 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { public Collection<Visit> findAll() throws DataAccessException { Map<String, Object> params = new HashMap<>(); return this.namedParameterJdbcTemplate.query( - "SELECT id as visit_id, pets.id as pet_id, visit_date, description FROM visits LEFT JOIN pets ON visits.pet_id = pets.id", + "SELECT id as visit_id, pets.id as pets_id, visit_date, description FROM visits LEFT JOIN pets ON visits.pet_id = pets.id", params, new JdbcVisitRowMapperExt()); } @@ -158,9 +158,9 @@ public class JdbcVisitRepositoryImpl implements VisitRepository { visit.setDate(new Date(visitDate.getTime())); visit.setDescription(rs.getString("description")); Map<String, Object> params = new HashMap<>(); - params.put("id", rs.getInt("pet_id")); + params.put("id", rs.getInt("pets_id")); pet = JdbcVisitRepositoryImpl.this.namedParameterJdbcTemplate.queryForObject( - "SELECT pets.id, name, birth_date, type_id, owner_id FROM pets WHERE pets.id=:id", + "SELECT pets.id as pets_id, name, birth_date, type_id, owner_id FROM pets WHERE pets.id=:id", params, new JdbcPetRowMapper()); params.put("type_id", pet.getTypeId());