Erro ao inserir Hibernate[RESOLVIDO]

2 respostas
maxmustang

Opa galera blz?
seguinte da dando o seguinte erro ao fazer um exemplo do FJ28 aqui

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Hibernate: 
    insert 
    into
        Produto
        (descricao, nome, preco) 
    values
        (?, ?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [br.com.caelum.goodbuy.modelo.Produto]
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2836)
	at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)

minha classe produto

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;
	}
	
	
}

a classe de testes

package br.com.caelum.goodbuy.testes;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;

import br.com.caelum.goodbuy.modelo.Produto;

public class AdicionaProduto {
	public static void main(String[] args) {
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.configure();
		
		SessionFactory factory = cfg.buildSessionFactory();
		Session session = factory.openSession();
		
		Transaction tx = session.beginTransaction();
		Produto p = new Produto();
		p.setNome("Wii");
		p.setDescricao("VideoGame da Nintendo");
		p.setPreco(80.50);
		session.save(p);
		tx.commit();
		
	}
}

ahh e o hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory>
		
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
  <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/fj28</property> 
  <property name="hibernate.connection.username">root</property> 
  <property name="hibernate.connection.password">150988</property> 
  <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> 
  <property name="hibernate.format_sql">true</property> 
  <property name="show_sql">true</property> 
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 

  <mapping class="br.com.caelum.goodbuy.modelo.Produto" /> 

		
	
	</session-factory>
</hibernate-configuration>

ajuda ae xD

2 Respostas

S

Isso pode ser em algum campo da sua tabela no banco de dados da uma verificada na tabela.
a tabela foi criada?

maxmustang

Putz cara… literalmente esqueci de criar a tabela… puta merda

vlw msmo

Criado 16 de abril de 2010
Ultima resposta 16 de abr. de 2010
Respostas 2
Participantes 2