Olá pessoal.
Estou com um problema que deve ser bem básico e idiota mas já busquei na internet uma solução e ainda não encontrei então resolvi perguntar para os que tem mais experiência que eu.
Tenho o meu modelo Cidade e Estado com listado abaixo:
public class Cidade {
private int id;
private String nome;
private String cep;
private Estado estado;
//GETs e SETs
}
public class Estado {
private int id;
private String nome;
private String sigla;
//GETs e SETs
}
E na minha classe CidadeDao da seguinte maneira:
@Repository(value="cidadeDao")
public class CidadeDao extends SimpleJdbcDaoSupport
implements CidadeRepository {
private SimpleJdbcTemplate simplejdbcTemplate;
@Autowired
public void setSimpleJdbcTemplate(DataSource dataSource) {
this.simplejdbcTemplate = new SimpleJdbcTemplate(dataSource);
}
@SuppressWarnings("unchecked")
public List<Cidade> listar() {
String sql = "select c.id, c.nome, c.cep, e.sigla ";
sql += "from cidade c, estado e ";
sql += "where e.id = c.estado_id ";
List<Cidade> cidades = getSimpleJdbcTemplate().query(sql, new CidadeRowMapper());
return cidades;
}
}
E a minha classe de CidadeRowMapper da seguinte maneira:
public class CidadeRowMapper implements ParameterizedRowMapper<Cidade> {
public Cidade mapRow(ResultSet rs, int rowNum) throws SQLException {
Cidade cid = new Cidade();
cid.setId(rs.getInt("ID"));
cid.setNome(rs.getString("NOME"));
cid.setCep(rs.getString("CEP"));
cid.setEstado(rs.getInt("ESTADO_ID"));
return cid;
}
}
E a implementação de CidadeServiceImpl
@Service(value="cidadeService")
@Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
public class CidadeServiceImpl implements CidadeService {
private CidadeRepository cRepository;
@Autowired
public void setCidadeRepository(CidadeRepository cidadeRepository) {
this.cRepository = cidadeRepository;
}
public List<Cidade> listar() throws Exception {
try {
return this.cRepository.listar();
} catch (Exception e) {
throw new Exception("Não foi possível listar. "+e.getMessage());
}
}
}
Quando executo o método listar() recebo a lista de cidades mas com a coluna sigla em branco, se alguém puder ajudar fico grato. Estou usando Spring 2.5 com anotações e SimpleJdbcTemplate.
Desde já agradeço a ajuda.
Antonio