Galera, aqui na empresa estamos modificando nosso projeto, e uma das modificações está relacionada a persistência dos dados. Estamos mudando de JDBC para Hibernate, mas estou com uma certa dificuldade na consulta.
Como eu posso passar essa Query de JDBC para Hibernate?
public List<HashMap<String, Object>> listar_dados(String UF) {
conectar();
String filtro = new String();
if (UF.equalsIgnoreCase("BR")) {
filtro = "";
} else if (UF.equalsIgnoreCase("CO")) {
filtro = " WHERE (UF ='GO' or UF ='DF' or UF ='MT' or UF ='MS')";
} else if (UF.equalsIgnoreCase("S")) {
filtro = " WHERE (UF ='RS' or UF ='SC' or UF ='PR')";
} else if (UF.equalsIgnoreCase("SD")) {
filtro = " WHERE (UF ='SP' or UF ='MG' or UF ='RJ' or UF ='ES')";
} else if (UF.equalsIgnoreCase("N")) {
filtro = " WHERE (UF ='AC' or UF ='AP' or UF ='AM' or UF ='PA' or UF ='RO' or UF ='RR' or UF ='TO')";
} else if (UF.equalsIgnoreCase("NE")) {
filtro = " WHERE (UF ='AL' or UF ='BA' or UF ='CE' or UF ='MA' or UF ='PB' or UF ='PE' or UF ='PI' or UF ='RN' or UF ='SE')";
} else {
filtro = " WHERE UF = '" + UF + "'";
}
List<HashMap<String, Object>> lista_dados = new ArrayList<HashMap<String, Object>>();
try {
statement = conexao
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery("SELECT ordem, tipo, sum(`2011`) as a2011, "
+ "sum(`2012`) as a2012, sum(`2013`) as a2013, "
+ "sum(`2014`) as a2014, sum(`2015`) as a2015 FROM planoconveniencia"
+ filtro + " GROUP BY tipo ORDER BY ordem");
while (resultset.next()) {
HashMap<String, Object> hashmap_dados = new HashMap<String, Object>();
hashmap_dados.put("ordem", resultset.getString("ordem"));
hashmap_dados.put("tipo", resultset.getString("tipo"));
hashmap_dados.put("a2011", resultset.getDouble("a2011"));
hashmap_dados.put("a2012", resultset.getDouble("a2012"));
hashmap_dados.put("a2013", resultset.getDouble("a2013"));
hashmap_dados.put("a2014", resultset.getDouble("a2014"));
hashmap_dados.put("a2015", resultset.getDouble("a2015"));
lista_dados.add(hashmap_dados);
}
} catch (SQLException Banco) {
JOptionPane.showMessageDialog(null,
"Erro na manipulação de banco: " + Banco);
}
// JOptionPane.showMessageDialog(null, "Passou por aqui!");
desconectar();
return lista_dados;
}