en passant les différents types d'arguments de la requête jdbctemplate

Je suis en train de récupérer les enregistrements de la base de données en utilisant la clause where avec quelques-uns des différents types d'arguments. C'est la méthode simple que j'ai écrit où je suis de passage breedId et de genre comme arguments.

public List<Dog> listByBreedIdAndGender(long breedId, String gender) {  
  return query("SELECT * FROM dog_entity WHERE breed__id = ? AND gender = ?",
          new MapSqlParameterSource(":breedId", breedId)
          .addValue(":gender", gender));
 }

private List<Dog> query(String sql, MapSqlParameterSource parameters) {  
  List<Dog> dogs = jdbcTemplate.query(sql, new DogRowMapper(), parameters);
  return dogs;
 }

J'ai couru cette méthode, mais est inférieur à celui de l'exception. Quelqu'un peut-il me faire savoir comment passer plusieurs arguments à la jdbcTemplate.query(), je suis un peu nouveau pour elle.

{
timestamp: 1419637479460
status: 500
error: "Internal Server Error"
exception: "org.springframework.dao.TransientDataAccessResourceException"
message: "PreparedStatementCallback; SQL [SELECT * FROM dog_entity WHERE breed__id = ? AND gender = ?]; Invalid argument value: java.io.NotSerializableException; nested exception is java.sql.SQLException: Invalid argument value: java.io.NotSerializableException"
path: "/api/2/m"
}

OriginalL'auteur Suleman khan | 2014-12-26