Olá pessoal, eu gostaria muito da ajuda de voces.
Eu estou implementando um sistema usando a loja virtual da caelum como modelo.
Porem estou encontrando uma dificuldade para implementar a busca no sistema…
Gostaria de fazer uma busca simples, mas nao funciona, tentei utilizar o exemplo do mydvds, porem nao tive sucesso.
Gostaria de pedir a juda de voces na implementação dessa busca simples sem a utilização do ajax, ou nao é possivel ?
Estou enviando os codigo abaixo.
[code]
package br.com.projeto.modelo.dao;
import br.com.projeto.modelo.Produto;
import br.com.projeto.modelo.Usuario;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
/**
*
-
@author Bruno Wilson
*/
public class Dao {private final Session session;
private final Class classe;protected Session getSession() {
return session;
}Dao(Session session, Class classe) {
this.session = session;
this.classe = classe;
}public void adiciona(T u) {
this.session.save(u);
}public void remove(T u) {
this.session.delete(u);
}public void atualiza(T u) {
this.session.merge(u);
}public List listaTudo() {
return this.session.createCriteria(this.classe).list();
}public T procura(Long id) {
return (T) session.load(this.classe, id);
}
}
[/code]
package br.com.projeto.logic;
import br.com.projeto.loja.DaoInterceptor;
import br.com.projeto.modelo.Categoria;
import br.com.projeto.modelo.Fornecedor;
import br.com.projeto.modelo.Produto;
import br.com.projeto.modelo.dao.DaoFactory;
import java.util.List;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
/**
*
* @author Bruno Wilson
*/
@Component
@InterceptedBy({AutorizadorInterceptor.class, DaoInterceptor.class})
public class ProdutoLogic {
private final DaoFactory daoFactory;
private Produto produto;
private List<Produto> produtos;
public Produto getProduto() {
return produto;
}
public ProdutoLogic(DaoFactory daoFactory) {
this.daoFactory = daoFactory;
}
public void remove(Produto produto) {
this.daoFactory.beginTransaction();
this.daoFactory.getProdutoDao().remove(produto);
this.daoFactory.commit();
}
public void editar(Produto produto) {
// carrega os dados no banco para edicao
this.produto = this.daoFactory.getProdutoDao().procura(produto.getId());
}
public void armazena(Produto produto) {
this.daoFactory.beginTransaction();
this.daoFactory.getProdutoDao().atualiza(produto);
this.daoFactory.commit();
}
public void formulario() {
}
public List<Produto> getProdutos() {
return produtos;
}
public List<Fornecedor> getListaFornecedores() {
return this.daoFactory.getFornecedorDao().listaTudo();
}
public List<Categoria> getListaCategorias() {
return this.daoFactory.getCategoriaDao().listaTudo();
}
public void lista() {
produtos = this.daoFactory.getProdutoDao().listaTudo();
}
}
[code]package br.com.projeto.modelo;
import java.util.Calendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
/**
*
-
@author Bruno Wilson
*/
@Entity
public class Produto {@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name=“id_produto”)
private Long id;@Column(name=“nome_produto”)
private String nome;
@Column(nullable=false)
private String modelo;private String marca;
private double vlvenda;
private double vlcompra;
private int quantidade;
@Temporal(javax.persistence.TemporalType.DATE)
private Calendar dta;@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name=“id_categoria”,
insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private Categoria categoria;public Calendar getDta() {
return dta;
}public void setDta(Calendar dta) {
this.dta = dta;
}@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name=“id_fornecedor”,
insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private Fornecedor fornecedor;@Column(unique=false, nullable=false)
private String status;public Produto() {
}public Categoria getCategoria() {
return categoria;
}public void setCategoria(Categoria categoria) {
this.categoria = categoria;
}public Fornecedor getFornecedor() {
return fornecedor;
}public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}public Long getId() {
return id;
}public void setId(Long id) {
this.id = id;
}public String getMarca() {
return marca;
}public void setMarca(String marca) {
this.marca = marca;
}public String getModelo() {
return modelo;
}public void setModelo(String modelo) {
this.modelo = modelo;
}public String getNome() {
return nome;
}public void setNome(String nome) {
this.nome = nome;
}public int getQuantidade() {
return quantidade;
}public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}public String getStatus() {
return status;
}public void setStatus(String status) {
this.status = status;
}public double getVlcompra() {
return vlcompra;
}public void setVlcompra(double vlcompra) {
this.vlcompra = vlcompra;
}public double getVlvenda() {
return vlvenda;
}public void setVlvenda(double vlvenda) {
this.vlvenda = vlvenda;
}
}[/code]
Como eu posso implementar uma busca simples com essa estrutura ?