Estou tentando fazer um teste para listar os dados de uma tabela UF(estado) em um banco mysql usando hibernate com annotations e spring, a insersao na tabela funciona, mas a consulta nao, acontece o seguinte erro:
classe main:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"appclient/configuracoes/app-context.xml");
Map<String, Object> map = new HashMap<String, Object>();
map.put("objeto", null);
map.put("codigo", "33");
map.put("descricao", "SAO PAULO");
map.put("sigla", "SP");
map.put("pais", null);
Controle controle = (Controle) context.getBean("estadoContr");
controle.salvar(map);
try {
for(Object obj:controle.listar()) {
System.out.println(obj.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
POJO:
@Entity
@Table(name="UF")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@AttributeOverrides({
@AttributeOverride(name="codigo", column = @Column(name="CODIGO", length=5)),
@AttributeOverride(name="descricao", column = @Column(name="DESCRICAO", length=50))
})
public class UF extends BaseCadastro implements java.io.Serializable {
public UF () {
}
}
controle:
public abstract class ControleImpl implements Controle {
private String acao;
private Dao dao;
public ControleImpl() {
}
public String getAcao() {
return acao;
}
public void setAcao(String acao) {
this.acao = acao;
}
public Dao getDao() {
return dao;
}
public void setDao(Dao dao) {
this.dao = dao;
}
public void salvar(Map<String, Object> dados) {
Object obj = validar(dados);
if (obj != null) {
getDao().salvar(obj);
}
}
public List listar() {
return getDao().listar(getClasse());
}
public abstract Class getClasse();
public abstract Object validar(Map<String, Object> dados);
}
DAO:
public class DaoImpl extends HibernateDaoSupport implements Dao {
public DaoImpl() {
}
public void salvar(Object obj) {
try {
getHibernateTemplate().saveOrUpdate(obj);
} catch (Exception e) {
e.printStackTrace();
}
}
public void remover(Object obj) {
try {
getHibernateTemplate().delete(obj);
} catch (Exception e) {
e.printStackTrace();
}
}
public void salvar(Map<String, Object> dados) {
}
public List listar(Class c) {
List l = null;
try {
l = getHibernateTemplate().find("from " + c.getName());
} catch (Exception e) {
e.printStackTrace();
}
return l;
}
o metodo salvar esta funcionando, portanto creio que nao ha necessidade de postar a configuraç do xml do spring.
O que esta errado? o “for” na classe main ou falta algum cast?
Espero que alguem possa me ajudar.
Ja tive problemas com debug no eclipse e com os annotations no hibernate e nao obtive respostas. Teria alguma solução para alguem me responder sem ficar repetindo o mesmo post? porque senao vem um ignorante mandando procurar na busca ou no google, como ja vi em outros post.