Olá amigos…
estou com um problema ,ao fazer o submit de um formulario , deveria ser adicionado um produto ao Banco de Dados , mas ao invez disto esta retornando erro 500.
Formulario:
[code]<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
Controller do Produto
[code]package br.com.caelum.goodbuy.controller;
import java.util.List;
import br.com.caelum.goodbuy.infra.ProdutoDAO;
import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.Resource;
@Resource
public class ProdutosController {
private final ProdutoDAO dao;
public void formulario(){
}
public ProdutosController(ProdutoDAO dao) {
this.dao = dao;
}
public List<Produto> lista() {
return dao.listaTudo();
}
public void adiciona(Produto produto){
dao.salva(produto);
}
}
[/code]
O DAO
[code]package br.com.caelum.goodbuy.infra;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.ioc.Component;
@Component
public class ProdutoDAO {
private final Session session;
public ProdutoDAO() {
this.session = CriadorDeSession.getSession();
}
public List<Produto> listaTudo() {
return this.session.createCriteria(Produto.class).list();
}
public void salva(Produto produto) {
Transaction tx = session.beginTransaction();
session.save(produto);
tx.commit();
}
public void remove(Produto p) {
Transaction tx = session.beginTransaction();
session.delete(p);
tx.commit();
}
public void alteraPreco(Produto p, double preco){
Transaction tx = session.beginTransaction();
p.setPreco(preco);
session.update(p);
tx.commit();
}
}
[/code]
e a classe produto
[code]package br.com.caelum.goodbuy.modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Produto {
@Id @GeneratedValue
private Long id;
private String nome;
private String descricao;
private Double preco;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public Double getPreco() {
return preco;
}
public void setPreco(Double preco) {
this.preco = preco;
}
}
[/code]