[resolvido] Hibernate 3.6 criteria buscar AJUDA

3 respostas
LucianoTulio

Desculpe mas preciso de ajuda!!! Não sei se ja tem esse tópico mas segue ae

Estou desenvolvendo um aplicativo web com as tecnologias
Eclipse indigo, Hibernate 3.6 + Mysql 5 + JSF 2.0

segue os modelos.

Cli.class 


package modelo;

import java.util.Date;


import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="cli")
public class Cli{

	@Id	
	private Integer cod;
	private String razao;
	private String socio;
	private String Endereco;
	private String Bairro;
	private String Cidade;
	private String Estado;
	private String CEP;
	private String telefone;
	private String Celular;
	private String email;
	private String Insc;
	private String CNPJ;
	private String Locacao;
	private String LocBairro;
	private String LocCidade;
	private String LocEstado;
	private String TELEFONE2;
	private String email2;
	private String locomplemento;
	private Integer tipopg;
	private Date dataalt;
	private String complemento;
	private Integer codSite;
	private String cliobs;
	private Date clidata;
	private String LocAlternativa;
	private String LocCidadealternativa;
	private String LocBairroAlternativo;
	private String LocEstadoAlternativo;
	public String getRazao() {
		return razao;
	}
	public void setRazao(String razao) {
		this.razao = razao;
	}
	public String getSocio() {
		return socio;
	}
	public void setSocio(String socio) {
		this.socio = socio;
	}
	public String getEndereco() {
		return Endereco;
	}
	public void setEndereco(String endereco) {
		Endereco = endereco;
	}
	public String getBairro() {
		return Bairro;
	}
	public void setBairro(String bairro) {
		Bairro = bairro;
	}
	public String getCidade() {
		return Cidade;
	}
	public void setCidade(String cidade) {
		Cidade = cidade;
	}
	public String getEstado() {
		return Estado;
	}
	public void setEstado(String estado) {
		Estado = estado;
	}
	public String getCEP() {
		return CEP;
	}
	public void setCEP(String cEP) {
		CEP = cEP;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getCelular() {
		return Celular;
	}
	public void setCelular(String celular) {
		Celular = celular;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getInsc() {
		return Insc;
	}
	public void setInsc(String insc) {
		Insc = insc;
	}
	public String getCNPJ() {
		return CNPJ;
	}
	public void setCNPJ(String cNPJ) {
		CNPJ = cNPJ;
	}
	public String getLocacao() {
		return Locacao;
	}
	public void setLocacao(String locacao) {
		Locacao = locacao;
	}
	public String getLocBairro() {
		return LocBairro;
	}
	public void setLocBairro(String locBairro) {
		LocBairro = locBairro;
	}
	public String getLocCidade() {
		return LocCidade;
	}
	public void setLocCidade(String locCidade) {
		LocCidade = locCidade;
	}
	public String getLocEstado() {
		return LocEstado;
	}
	public void setLocEstado(String locEstado) {
		LocEstado = locEstado;
	}
	public String getTELEFONE2() {
		return TELEFONE2;
	}
	public void setTELEFONE2(String tELEFONE2) {
		TELEFONE2 = tELEFONE2;
	}
	public String getEmail2() {
		return email2;
	}
	public void setEmail2(String email2) {
		this.email2 = email2;
	}
	public String getLocomplemento() {
		return locomplemento;
	}
	public void setLocomplemento(String locomplemento) {
		this.locomplemento = locomplemento;
	}
	public Integer getTipopg() {
		return tipopg;
	}
	public void setTipopg(Integer tipopg) {
		this.tipopg = tipopg;
	}
	public Date getDataalt() {
		return dataalt;
	}
	public void setDataalt(Date dataalt) {
		this.dataalt = dataalt;
	}
	public String getComplemento() {
		return complemento;
	}
	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	public Integer getCodSite() {
		return codSite;
	}
	public void setCodSite(Integer codSite) {
		this.codSite = codSite;
	}
	public String getCliobs() {
		return cliobs;
	}
	public void setCliobs(String cliobs) {
		this.cliobs = cliobs;
	}
	public Date getClidata() {
		return clidata;
	}
	public void setClidata(Date clidata) {
		this.clidata = clidata;
	}
	public String getLocAlternativa() {
		return LocAlternativa;
	}
	public void setLocAlternativa(String locAlternativa) {
		LocAlternativa = locAlternativa;
	}
	public String getLocCidadealternativa() {
		return LocCidadealternativa;
	}
	public void setLocCidadealternativa(String locCidadealternativa) {
		LocCidadealternativa = locCidadealternativa;
	}
	public String getLocBairroAlternativo() {
		return LocBairroAlternativo;
	}
	public void setLocBairroAlternativo(String locBairroAlternativo) {
		LocBairroAlternativo = locBairroAlternativo;
	}
	public String getLocEstadoAlternativo() {
		return LocEstadoAlternativo;
	}
	public void setLocEstadoAlternativo(String locEstadoAlternativo) {
		LocEstadoAlternativo = locEstadoAlternativo;
	}
	public Integer getCodsindicato() {
		return codsindicato;
	}
	public void setCodsindicato(Integer codsindicato) {
		this.codsindicato = codsindicato;
	}
	private Integer codsindicato;
	private String nome;
	public Integer getCod() {
		return cod;
	}
	public void setCod(Integer cod) {
		this.cod = cod;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	
			
	
}

Mes.class

package modelo;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="mes")

public class Mes {
	@Id
	private Integer id;
	
	private String nome;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	
	
}

Status.class

package modelo;

import javax.persistence.Entity;

import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="status")
public class Status {
	@Id 
	private Integer id;
	
	private String nome;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	
	
}

TipoObrigacoes.class

package modelo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="tipo_obrigacoes")
public class TipoObrigacoes {
	@Id
	@GeneratedValue
	private Integer id;
	private String tipo;
	
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
}

Usuario.class

package modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="usuario")

public class Usuario {

	@Id
	private Integer id;
	
	private String nome;
	@Column(name="nivel")
	private Integer nivel;
	
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Integer getNivel() {
		return nivel;
	}
	public void setNivel(Integer nivel) {
		this.nivel = nivel;
	}
}

Obrigacoes.class

package modelo;

import java.util.Date;


import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import javax.persistence.Table;

@Entity
@Table(name="obrigacoes")
public class Obrigacoes {
	
	
	@Id
	@GeneratedValue
	private Integer id;
	private String protocolo;
	private String justificativa;
	private int ano;
	
	
	
	
	private Date data_envio;
	@Column(nullable=false)
	private Date data_vencimento;
	@Column(nullable=false)
	private Date data_insercao;
	
	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="id_cliente",nullable=false)
	private Cli cliente; 
	
	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="id_mes", nullable=false)
	private Mes mes;  
	
	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="id_usuario")
	private Usuario usuario; 
	
	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="id_tipo_obrigacoes",nullable=false)
	private TipoObrigacoes tipo_obrigacoes;
	
	@ManyToOne(cascade = CascadeType.PERSIST)
	@JoinColumn(name="id_status",nullable=false)
	private Status status;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getProtocolo() {
		return protocolo;
	}

	public void setProtocolo(String protocolo) {
		this.protocolo = protocolo;
	}

	public String getJustificativa() {
		return justificativa;
	}

	public void setJustificativa(String justificativa) {
		this.justificativa = justificativa;
	}

	public Date getData_envio() {
		return data_envio;
	}

	public void setData_envio(Date data_envio) {
		this.data_envio = data_envio;
	}

	public Date getData_vencimento() {
		return data_vencimento;
	}

	public void setData_vencimento(Date data_vencimento) {
		this.data_vencimento = data_vencimento;
	}

	public Date getData_insercao() {
		return data_insercao;
	}

	public void setData_insercao(Date data_insercao) {
		this.data_insercao = data_insercao;
	}

	public Cli getCliente() {
		return cliente;
	}

	public void setCliente(Cli cliente) {
		this.cliente = cliente;
	}

	public Mes getMes() {
		return mes;
	}

	public void setMes(Mes mes) {
		this.mes = mes;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public TipoObrigacoes getTipo_obrigacoes() {
		return tipo_obrigacoes;
	}

	public void setTipo_obrigacoes(TipoObrigacoes tipo_obrigacoes) {
		this.tipo_obrigacoes = tipo_obrigacoes;
	}

	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) {
		this.status = status;
	}
	
	public int getAno() {
		return ano;
	}

	public void setAno(int ano) {
		this.ano = ano;
	}

	
}

Segue as Classes DAO

ObrigacoesDAO.class

package dao;


import java.util.List;
import modelo.Obrigacoes;


import org.hibernate.Criteria;
import org.hibernate.FetchMode;
import org.hibernate.classic.Session;
import org.hibernate.criterion.Restrictions;

import com.sun.org.apache.xerces.internal.util.Status;

import util.HibernateUtil;


@SuppressWarnings("rawtypes")
public class ObrigacoesDAO {
	
	private Session session; 
	private Status status;
		
	public List listar(){
	session = HibernateUtil.getSessionFactory().openSession();
				try{
						return session.createCriteria(Obrigacoes.class).list();
				}finally{
					session.close();
				}
	}			
	
	public List listarEnviadas(){
	 session = HibernateUtil.getSessionFactory().openSession();
		try{
				return session.createCriteria(Obrigacoes.class).list();
		}finally{
			session.close();
		}
	}
	
	
	public List listarPendentes(){
		session = HibernateUtil.getSessionFactory().openSession();
		try{
			
			Criteria cri = session.createCriteria(Obrigacoes.class);
					 
					 
			return cri.list();
		}finally{
			session.close();
		}
	}
	
		
	public List listarJustificadas(){
		session = HibernateUtil.getSessionFactory().openSession();
		try{
			
			Criteria cri = session.createCriteria(Obrigacoes.class);
					
					 
			return cri.list();
		}finally{
			session.close();
		}
	}
}

Ja tentei incluir o codigo

public List listarPendentes(){
		session = HibernateUtil.getSessionFactory().openSession();
		try{
			
			Criteria cri = session.createCriteria(Obrigacoes.class);
					[color=red] cri.add(Restrictions.eq("id_status", 1));[/color]
					 
			return cri.list();
		}finally{
			session.close();
		}
	}

sendo 1 o valor do id na classe status o qual eu quero.

Alguem pra dar uma Luz??? Agradeço desde ja

3 Respostas

GusMcCart

Amigo… não entendi, o que você quer fazer? Ou isso que você ta fazendo está dando erro? Se sim, posta também o stackTrace do erro…
Outra coisa… edita o post e coloca o código entre o [ code ] … [ / code ] pra ficar mais legível…

romarcio

Exemplo de consultas com criteria:


LucianoTulio

Ja resolvi o problema, eu estava tentando fazer uma busca passando um Integer id, quando na verdade precisava passar
um objeto do tipo Status da classe modal.Status.

Obrigado

Criado 6 de julho de 2012
Ultima resposta 9 de jul. de 2012
Respostas 3
Participantes 3