Senhores, Gostaria de uma ideia para solução de um problema.
Eu tenho uma aplicação que busca no banco o TOTAL de downloads de pdf’s de determinado ASSUNTO em determinada REGIÂO.
Hoje eu estou usando JDBC, e tenho que fazer uma query e colocar o contador de registros dentro do rs.next() para pegar o valor total.
Exemplo:
sql = "SELECT pdf FROM Tabela where assunto = 'assunto' And regiao='regiao' ";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
download.setTotal((long) rs.getRow());
}
Estou querendo migra para o Hibernate e tentar algo como:
long total = o resultado desta query sql = "SELECT count(pdf) FROM Tabela where assunto = 'assunto' And regiao='regiao' ";
ou seja vou pegar o valor total e setar em um atributo.
A Questão é, é possivel fazer isso ou tem outro jeito mais facil???
É possível e tem jeitos mais fáceis.
drsmachado , voce poderia me mostrar um exemplo?
Não.
Mas se você fizer uma pesquisa em qualquer mecanismo de busca vai encontrar N exemplos.
Tanto para Hibernate, quanto para JPA quanto para JDBC.
Mais fácil que um COUNT() direto no banco de dados ? Essa eu queria saber também.
Anyway, usar o COUNT() é bem melhor que trazer todas as linhas e contar com resultSet.next(). A diferença de se fazer isso com a API do JPA/Hibernate é que ao invés de usar ResultSet você usa o objeto Query, e a consulta tem que ser feita em JPQL, que também não muda muita coisa. Basicamente você troca o nome da tabela pelo nome da classe e os campos da tabela pelos campos da classe.
drsmachado, cara se vc não ia ajudar pq respondeu? era só ficar parasitando ai.
Pq eu pedi uma idea(Exemplo) não que vc faça pra mim e se vc ler vai notar isso ai, eu so venho aqui quando for para ajudar com algo q eu sei ou para postar duvidas
q realmente sejam pertinentes ou seja se eu vim aqui é pq não achei algo q tivese me ajudado…
Obrigado por nada.