Olá pessoal ! Boa Tarde…
To com um problema estranho… o resultado por exemplo de um save(), aparece no console mas no banco(MySQL) naum…
estou dando um “select * from produto” no cmd do mysql e aparece Empty set…
soh que quando rodo o Adiciona Produto, vai numa boa…
Tenho tb a classe de GeraTabelas que funcionou perfeitamente…
Bom vou colocar os codigos abaixo…
hibernate.properties
hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost/test
hibernate.connection.username root
hibernate.connection.password admin
HibernateUtil
package br.com.caelum.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static SessionFactory factory;
static{
//cria configuração para a classe Produto
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
factory = cfg.buildSessionFactory();
}
public static Session getSession(){
return factory.openSession();
}
}
GeraTabelas
package br.com.caelum.hibernate;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GeraTabelas {
public static void main(String[] args) {
//cria configuração para a classe Produto
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
//criar a tabela
new SchemaExport(cfg).create(true, true);
}
}[/code]
[/b]JavaBean Produto[b]
[code]package br.com.caelum.hibernate;
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 String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
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 Double getPreco() {
return preco;
}
public void setPreco(Double preco) {
this.preco = preco;
}
}
ProdutoDAO
[code]package br.com.caelum.hibernate.dao;
import java.util.List;
import org.hibernate.Session;
import br.com.caelum.hibernate.Produto;
public class ProdutoDAO {
private Session session;
public ProdutoDAO (Session session){
this.session = session;
}
public void salva (Produto p){
this.session.save(p);
}
public void remove (Produto p){
this.session.delete(p);
}
public Produto procura (Long id) {
return (Produto) this.session.load(Produto.class, id);
}
public void atualiza (Produto p){
this.session.update(p);
}
public List<Produto> listaTudo(){
return this.session.createCriteria(Produto.class).list();
}
public List<Produto> pagina(int inicio, int quantia){
return this.session.createCriteria(Produto.class).setMaxResults(quantia).setFirstResult(inicio).list();
}
public List<Produto> listaAPartirdoTerceiro(){
return this.session.createQuery("from br.com.caelum.hibernate.Produto where id>2").list();
}
}
[/code]
ProdutoDAO
[code]package br.com.caelum.hibernate;
import org.hibernate.Session;
import br.com.caelum.hibernate.dao.ProdutoDAO;
public class AdicionaProduto {
public static void main(String[] args) {
Session session = HibernateUtil.getSession();
Produto p = new Produto();
p.setNome("Com dao");
p.setDescricao("Descrição aqui");
p.setPreco(100.50);
ProdutoDAO dao = new ProdutoDAO(session);
dao.salva(p);
System.out.println("ID do poduto: "+ p.getId());
session.close();
}
}[/code]
Bom ai esta todo o codigo relacionado… Obrigado ai pela ajuda…
Valeu !