[resolvido] Hibernate 3.6 criteria buscar AJUDA

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

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…

Exemplo de consultas com criteria:


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