Pesquisa com o hibernate

Olá, boa noite.
Venho aqui deixar uma dúvida que já está me encomodando a uma semana.
Como eu faço uma pesquisa usando o Struts e o hibernate.

O meu código é bem simples, tenho um pojo que deveria acessar a base de dados e pelos gets buscar os valores, que deveriam ser passados por parâmetro para a minha classe form no struts.

Para salvar os dados no banco de dados eu passo os dados do ActionForm para o meu POJO. Agora quando eu preciso acessar os dados eu tenho que buscar os dados dentro do POJO e retornar os dados para o meu Form. Pelo menos essa foi a minha analogia.

Caso esteja errado eu agradeço a correção.

Se alguém tiver um bom manual explicando como trabalhar com o hibernate, na proatica, eu agradeço.

Os resultados que estãos sendo retornado é null e zeros.

Se alguém puder me ajudar eu agradeço.

Estou enviando o código fonte junto, para facilitar.

Veja o código do ActionForm

 package br.com.biblioteca.form;  
   
 import javax.servlet.http.HttpServletRequest;  
   
 import org.apache.struts.action.ActionErrors;  
 import org.apache.struts.action.ActionForm;  
 import org.apache.struts.action.ActionMapping;  
 import org.apache.struts.action.ActionMessage;  
   
 public class CadastrarForm extends ActionForm {  
   
    private String autor;  
   
    private String titulo;  
   
    private String assunto;  
   
    private String indice;  
   
    private String editora;  
   
    private int edicao;  
   
    private int ano;  
   
    private int isbn;  
   
    private int numero;  
   
    private int prateleira;  
   
    private int estante;  
   
    private boolean livros;  
   
    private boolean cddvd;  
   
    private boolean revista;  
   
    private int idcadastrar;  
      
    private String acao;  
   
    public String getAcao() {  
       return acao;  
    }  
   
    public void setAcao(String acao) {  
       this.acao = acao;  
    }  
   
    public int getIdcadastrar() {  
       return idcadastrar;  
    }  
   
    public void setIdcadastrar(int idcadastrar) {  
       this.idcadastrar = idcadastrar;  
    }  
   
    public boolean isCddvd() {  
       return cddvd;  
    }  
   
    public void setCddvd(boolean cddvd) {  
       this.cddvd = cddvd;  
    }  
   
    public boolean isLivros() {  
       return livros;  
    }  
   
    public void setLivros(boolean livros) {  
       this.livros = livros;  
    }  
   
    public boolean isRevista() {  
       return revista;  
    }  
   
    public void setRevista(boolean revista) {  
       this.revista = revista;  
    }  
   
    public int getAno() {  
       return ano;  
    }  
   
    public void setAno(int ano) {  
       this.ano = ano;  
    }  
   
    public String getAssunto() {  
       return assunto;  
    }  
   
    public void setAssunto(String assunto) {  
       this.assunto = assunto;  
    }  
   
    public int getEdicao() {  
       return edicao;  
    }  
   
    public void setEdicao(int edicao) {  
       this.edicao = edicao;  
    }  
   
    public String getEditora() {  
       return editora;  
    }  
   
    public void setEditora(String editora) {  
       this.editora = editora;  
    }  
   
    public int getEstante() {  
       return estante;  
    }  
   
    public void setEstante(int estante) {  
       this.estante = estante;  
    }  
   
    public String getIndice() {  
       return indice;  
    }  
   
    public void setIndice(String indice) {  
       this.indice = indice;  
    }  
   
    public int getIsbn() {  
       return isbn;  
    }  
   
    public void setIsbn(int isbn) {  
       this.isbn = isbn;  
    }  
   
    public int getNumero() {  
       return numero;  
    }  
   
    public void setNumero(int numero) {  
       this.numero = numero;  
    }  
   
    public int getPrateleira() {  
       return prateleira;  
    }  
   
    public void setPrateleira(int prateleira) {  
       this.prateleira = prateleira;  
    }  
   
    public String getAutor() {  
       return autor;  
    }  
   
    public void setAutor(String autor) {  
       this.autor = autor;  
    }  
   
    public String getTitulo() {  
       return titulo;  
    }  
   
    public void setTitulo(String titulo) {  
       this.titulo = titulo;  
    }  
   
    public ActionErrors validate(ActionMapping mapping,  
          HttpServletRequest request) {  
   
       ActionErrors erros = new ActionErrors();  
         
       if ("INC".equals(getAcao())){  
            
         
   
       if (getAssunto() == null) {  
          erros.add("assunto", new ActionMessage("erro.assunto.requerido"));  
       }  
      
       setAcao(null);  
         
       }  
         
       return erros;  
    }  
   
 }

o meu pojo ficou assim.

package br.com.biblioteca.pojo;  
   
 import java.io.Serializable;  
  
 public class CadastrarPOJO implements Serializable {  
  
 private String autor;  
 
 private String titulo;  
   
 private String assunto;  
   
 private String indice;  
  
 private String editora;  
   
 private int edicao;  
  
 private int ano;  
   
 private int isbn;  
  
 private int numero;  
   
 private int prateleira;  
   
 private int estante;  
   
 private boolean livros;  
   
 private boolean cddvd;  
   
 private boolean revista;  
   
 private int idcadastrar;  
  
 // Construtor da classe//  
 public CadastrarPOJO() {  
   }  
    
 public int getIdcadastrar() {  
       return idcadastrar;  
    }  
   
     public void setIdcadastrar(int idcadastrar) {  
      this.idcadastrar = idcadastrar;  
   }  
    
 public boolean isCddvd() {  
        return cddvd;  
    }  
   
  public void setCddvd(boolean cddvd) {  
      this.cddvd = cddvd;  
   }  
  
   public boolean isLivros() {  
       return livros;  
    }  
   
    public void setLivros(boolean livros) {  
       this.livros = livros;  
    }  
   
    public boolean isRevista() {  
      return revista;  
    }  
   
    public void setRevista(boolean revista) {  
       this.revista = revista;  
    }  
   
    public int getAno() {  
       return ano;  
    }  
   
    public void setAno(int ano) {  
       this.ano = ano;  
    }  
   
    public String getAssunto() {  
      return assunto;  
    }  
   
    public void setAssunto(String assunto) {  
       this.assunto = assunto;  
    }  
   
    public int getEdicao() {  
       return edicao;  
    }  
   
    public void setEdicao(int edicao) {  
       this.edicao = edicao;  
    }  
   
    public String getEditora() {  
       return editora;  
    }  
   
    public void setEditora(String editora) {  
      this.editora = editora;  
    }  
   
    public int getEstante() {  
       return estante;  
    }  
   
    public void setEstante(int estante) {  
       this.estante = estante;  
    }  
  
   public String getIndice() {  
      return indice;  
    }  
   
    public void setIndice(String indice) {  
       this.indice = indice;  
    }  
   
    public int getIsbn() {  
       return isbn;  
    }  
   
    public void setIsbn(int isbn) {  
       this.isbn = isbn;  
    }  
   
    public int getNumero() {  
       return numero;  
    }  
   
    public void setNumero(int numero) {  
       this.numero = numero;  
    }  
   
    public int getPrateleira() {  
       return prateleira;  
   }  
   
   public void setPrateleira(int prateleira) {  
       this.prateleira = prateleira;  
    }  
   
    public String getAutor() {  
       return autor;  
  }  
   
    public void setAutor(String autor) {  
       this.autor = autor;  
    }  
   
    public String getTitulo() {  
       return titulo;  
    }  
   
    public void setTitulo(String titulo) {  
       this.titulo = titulo;  
    }  
   
}  

a minha action vou apenas passar o método de pesquisa.


  public ActionForward pesquisar(ActionMapping mapping, ActionForm form,  
          HttpServletRequest request, HttpServletResponse response)  
          throws Exception  {  
   
       CadastrarForm cadastrarForm = new CadastrarForm();  
       cadastrarForm.setAno(cadastrarPojo.getAno());  
       cadastrarForm.setAssunto(cadastrarPojo.getAssunto());  
       cadastrarForm.setAutor(cadastrarPojo.getAutor());  
       cadastrarForm.setEdicao(cadastrarPojo.getEdicao());  
       cadastrarForm.setEditora(cadastrarPojo.getEditora());  
       cadastrarForm.setEstante(cadastrarPojo.getEstante());  
       cadastrarForm.setIdcadastrar(cadastrarPojo.getIdcadastrar());  
       cadastrarForm.setIndice(cadastrarPojo.getIndice());  
       cadastrarForm.setIsbn(cadastrarPojo.getIsbn());  
       cadastrarForm.setTitulo(cadastrarPojo.getTitulo());  
       cadastrarForm.setCddvd(cadastrarPojo.isCddvd());  
       cadastrarForm.setLivros(cadastrarPojo.isLivros());  
       cadastrarForm.setRevista(cadastrarPojo.isRevista());  
   
       cadastrarDao.getCadastrarList(cadastrarPojo);  
   
       return mapping.findForward(SUCCESS);  
    }  

o meu método DAO é este aqui.


  public List getCdDvdList(CdDvdPOJO cdDvdPojo) {  
       Session session = HibernateUtil.getInstance().getSession();  
   
       try {  
          Query query = session.createQuery("select * from cadastrar");  
          return query.list();  
   
       } catch (HibernateException e) {  
          System.err.println("Hibernate Exception" + e.getMessage());  
          throw new RuntimeException(e);  
       } finally {  
          if (session != null) {  
             try {  
                session.close();  
             } catch (HibernateException e) {  
                System.err.println("Hibernate Exception" + e.getMessage());  
                throw new RuntimeException(e);  
             }  
   
          }  
       }  
    }