Ajuda hibernate curso fj21 exercicio 13.7

Pessoal, sou iniciante em java e quando comecei a trabalhar com hibernate tive um pequeno problema, o programa nao esta dando erro algum ( visivel ) ao menos, mas a tabela de Produto que eu peco para criar no meu MySQL ( 5.1.37 Ubuntu ) nao esta sendo gerada e o codigo em sql para a criacao da tabela nao esta sendo exibido no console como o esperado.

Segue baixo a minha classe Produto:

[code]import java.math.BigDecimal;
import java.util.Calendar;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.hibernate.annotations.Entity;

@Entity
public class Produto {
@Id
@GeneratedValue
private Long id;
private String nome;
private BigDecimal preco;
private Calendar dataInicioVenda;
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 BigDecimal getPreco() {
return preco;
}
public void setPreco(BigDecimal preco) {
this.preco = preco;
}
public Calendar getDataInicioVenda() {
return dataInicioVenda;
}
public void setDataInicioVenda(Calendar dataInicioVenda) {
this.dataInicioVenda = dataInicioVenda;
}

}
[/code]

Agora a minha classe de teste que tem o metodo main.

[code]package br.com.caelum.hibernate;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GerarTabelas {

public static void main(String[] args) {
	AnnotationConfiguration cfg  = new AnnotationConfiguration();
	cfg.addAnnotatedClass(Produto.class);
	
	SchemaExport se = new SchemaExport(cfg);
	
	System.out.println("## EXECUTANDO ###");
	se.create(true, true);
	
	System.out.println("--------------- FIM -----------------");
}

}[/code]

Meu arquivo de configuracao do hibernate:

hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql://localhost/fj21 hibernate.connection.username = root hibernate.connection.password = ******* hibernate.connection.autocommit = true hibernate.show_sql = true hibernate.format_sql = true

E por fim o que esta sendo exibido no meu console:

2 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.CR2
30 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.CR2
33 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.connection.autocommit=true, hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.format_sql=true, hibernate.connection.username=root, hibernate.connection.url=jdbc:mysql://localhost/fj21, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, hibernate.connection.password=****}
36 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
46 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
114 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
140 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
242 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
## EXECUTANDO ###
246 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export
248 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - exporting generated schema to database
251 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
251 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
251 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: true
260 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/fj21
260 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****, autocommit=true}
540 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - schema export complete
541 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:mysql://localhost/fj21
--------------- FIM -----------------

Alguem ai ajudaria o pobre coitado newbie?

Faltou definir a Entidade Produto no hibernate.cfg.xml.

entao, pelo que foi explicado no curso da caelum, na nova versao do hibernate basta a notacao para isso, no mais eu faco uma referencia somente ao Produto.class, onde ele ira buscar as anotacoes que foram feitas.

tanto que no exercicio de classe soh usamos o hibernate.properties que foi criado no diretorio src que foi colocado por mim e que replico abaixo:

hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql://localhost/fj21 hibernate.connection.username = root hibernate.connection.password = 17252692 hibernate.connection.autocommit = true hibernate.show_sql = true hibernate.format_sql = true

ola carlos!

Correto, nao precisa adicionar sua entidade Produto no xml ja que voce o esta adicionando programaticamente

Troque esse import:

import org.hibernate.annotations.Entity;

por esse import:

import javax.persistence.Entity;  

Muito obrigado Paulo, funcionou

[quote=Paulo Silveira]ola carlos!

Correto, nao precisa adicionar sua entidade Produto no xml ja que voce o esta adicionando programaticamente

Troque esse import:

import org.hibernate.annotations.Entity;

por esse import:

import javax.persistence.Entity;  

[/quote]

Galera estou com uma dúvida no exercicio 13.7.

EU criei a classe produto fiz as anotações adicioneiii os jars do Hibernate e fiz o gerador de tabelas como na apostila, mas na hora que eu compilo ele nem mostra e nem cria o SQL ele começa a executar:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
//E para aquii não continua executando e nem cria o SQL

//HIBERNATE.PROPERTIES

hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/fj21
hibernate.connection.username = root
hibernate.connection.password =
hibernate.show_sql = true
hibernate.format_sql = true

//GERA TABELAS
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) {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
SchemaExport se = new SchemaExport(cfg);
System.out.println(“Executando…”);
se.create(true, true);
}
}

Se alguem puder me mostrar onde estou errando fico Grato.

Att:
Luan Sousa