Boa tarde pessoal, alguém poderia me ajudar como pego a quantidade de registros em HQL, sei como utiliza o count, mas em sql, em HQL não estou conseguindo!!!
obrigada.
Boa tarde pessoal, alguém poderia me ajudar como pego a quantidade de registros em HQL, sei como utiliza o count, mas em sql, em HQL não estou conseguindo!!!
obrigada.
Query q = session.createQuery("select count(*) from Entidade");
return (Long) q.uniqueResult();Blz? Flw! :thumbup:
Boa tarde, alguém tem um exemplo para eftuar pesquisa de data em HQL?
Ex: antes de: Data ou após data.
obrigada.
Boa tarde, alguém tem um exemplo para eftuar pesquisa de data em HQL?Ex: antes de: Data ou após data.
obrigada.
Query q = session.createQuery("select count(*) from Entidade");
return (Long) q.uniqueResult();
list.size() ?
Query q = session.createQuery("select count(*) from Entidade"); return (Long) q.uniqueResult();
list.size()?
se não for utilizar os dados, somente o valor total mesmo, é besteira pegar o list e depois o tamanho dele…
é melhor usar o count(*) msm… consome menos processamento…
como fica o metodo completo pro DAO ?
eu quero retornar apenas um valor para meu managerbean.
e fiz <blockquote>public Integer Contador(Long id){
Session s = HibernateUtil.getSession();
Query q = s.createQuery(“select count(*) from Matricula”);
return q.uniqueResult();
}</blockquote>
mas da errado o retorno, nem com Int tbm nao deu como seria ?
como fica o metodo completo pro DAO ?
eu quero retornar apenas um valor para meu managerbean.e fiz <blockquote>public Integer Contador(Long id){ Session s = HibernateUtil.getSession(); Query q = s.createQuery(“select count(*) from Matricula”); return q.uniqueResult(); }</blockquote>mas da errado o retorno, nem com Int tbm nao deu como seria ?
esse “um valor” que vc diz seria o número de matrículas?
se for… usa:
pq seu método tem parâmetro id de entrada? ele não é utilizado dentro do seu método…
eu vou passar um Idturma, ele vai ter que me da o total de turma que tem dentro da matricula
seria assim entao ?
public Integer Contador(Long id){
Session s = HibernateUtil.getSession();
Query q = s.createQuery("select count(*) from Matricula ma ma.aluno.id = :turma");
return (Integer) q.uniqueResult();
}
o meu get do bean seria assim ?
public Integer getContador() {
contador = new MatriculaDAO().Contador(idTurma);
return contador;
}
pelo que eu entendi do select vc está fazendo o seguinte:
vc está filtrando pelo id do aluno que está dentro da matrícula! se vc estiver realmente fazendo isso, filtrando pelo id, provavelmente só vai retornar “1” pois a ideia do id é ser único dentre os alunos…
a matrícula é exatamente oque? é um conjunto de turmas? talvez eu não tenha entendido a nomenclatura…
quais as entidades que vc tem? e qual a relação entre elas, preciso entendero contexto pra tentar te ajudar…
certo,
é assim
no xhtml(view) eu seleciono uma turma, ai ele passa o IDturma. ai ele tem que me retornar quantos alunos tem matriculado nessa turma, que fica dentro da tabela MATRICULA e na tabela matricula cada linha tem um ID de uma turma, quero filtrar apenas uma turma X e contar quantos tem
uma turma tem N alunos…
e vc quer pegar o nro de alunos de uma X turma… é isso?
turma é uma entidade tbm???
se for isso… tenta isso aqui:
public Long count(Long id) {
Session s = HibernateUtil.getSession();
try{
s.beginTransaction();
Query q = s.createQuery("select count(a) from Aluno as a WHERE a.turma.id like :id");
q.setParameter("id", id);
return (Long) q.uniqueResult();
}catch (Exception e) {
if (s != null && s.getTransaction().isActive()) {
s.getTransaction().rollback();
}
}finally{
if (s != null && s.isOpen()) {
s.close();
}
}
}
as seguintes entidades sao:
Aluno temos o [Id],[nome]…
Turma temos o [id],[nome]…
Matricula temos o [id],[id do aluno] e [id da turma]
eu quero contar quantos alunos tem numa turma
as seguintes entidades sao:
Aluno temos o [Id],[nome]…
Turma temos o [id],[nome]…
Matricula temos o [id],[id do aluno] e [id da turma]eu quero contar quantos alunos tem numa turma
vc tentou o código que passei no ultimo post?
tentei ms deu erro, eu to dentro do Dao e do managerbean da Matricula
pra fazer o count no sql normal seria
Select Count(turma_id) From Matricula Where turma_id = 1
assim eu consigo ve a contagem de quantos alunos tem da turma de ID 1, e no hql como ficaria ?
cola aqui as suas entidades “Matricula” “Turma” e “Aluno”… e cola também o erro que você tomou !!!
ainda não saquei oque matricula tem hver com a parada hauahuahua acho to meio lesado…
darkan666, obrigado pela ajuda conseguir aqui
fiz assim DAO:public Long count(Long id){
Session s = HibernateUtil.getSession();
Query q = s.createQuery("select count(*) from Matricula ag where ag.turma.id = :turma");
q.setParameter("turma", id);
return (Long) q.uniqueResult(); }
}
private Long contador;
public Long getContador() {
contador = new MatriculaDAO().count(idTurma);
return contador;
}
public void setContador(Long contador) {
this.contador = contador;
}
VALEUUU PELA AJUDA :D