Vraptor + Hibernate: (Exception) org.hibernate.HibernateException: Missing table

3 respostas
D

Boa tarde caros, estou com problema aqui no projeto vraptor, estou tentando inserir um objeto no banco, mas esta lançando a seguinte exception:

Exception in thread "main" org.hibernate.HibernateException: Missing table: Produto
Segue minha hibernate.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>
		<!-- Configurações da conexão -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/fj28</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">admin</property>

		<!-- Dialeto utilizado -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

		<!-- Auto criação da base de dados, create(gera o bd), validate(para usar 
			normal) -->
		<property name="hbm2ddl.auto">validate</property>

		<!-- Mostrar Codigo SQl -->
		<property name="show_sql">true</property>
		<property name="format_sql">true</property>

		<!-- Classes Anotadas -->
		<mapping class="br.com.caelum.vraptor.model.Produto" />
	</session-factory>
</hibernate-configuration>
A minha entidade:
@Entity
public class Produto {

	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	private String descricao;
	private Double preco;
	
	
	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;
	}
			
}
E minha classe com o main;
public class AdicaoDeProduto {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		AnnotationConfiguration configuration = new AnnotationConfiguration();
		configuration.configure();
		
		SessionFactory factory = configuration.buildSessionFactory();
		Session session = factory.openSession();
		
		Produto produto = new Produto();
		produto.setNome("Prateleira");
		produto.setDescricao("Uma prateleira para colocar livros");
		produto.setPreco(35.90);
		
		Transaction tx = session.beginTransaction();
		session.save(produto);
		tx.commit();
		
	}

}

Alguém poderia me ajudar, provavelmente deve ser no hibernate esse erro.

Desde ja agradeço. =]

3 Respostas

D

pessoal resolvi, kakaka, no hibernate.xml era so tirar essa linha:

<property name="hbm2ddl.auto">validate</property>

:smiley:

L

isso resolve o erro, mas se vc usar a entidade produto vai dar pau.

troque o valor de validate pra update, assim o hibernate cria a outra tabela

D

Bom dia lucas, não sabia disso, ehehhe, obrigado pela dica, abraços. =]

Criado 15 de novembro de 2012
Ultima resposta 16 de nov. de 2012
Respostas 3
Participantes 2