E ai pessoal tudo certo?
Seguinte, estou lendo essa apostia da caelum fj21, porem, o hibernate está me mostrando isso aqui:
11:39:48 INFO [Version] Hibernate Commons Annotations 3.2.0.Final
11:39:48 INFO [Environment] Hibernate 3.6.0.CR2
11:39:48 INFO [Environment] hibernate.properties not found
11:39:48 INFO [Environment] Bytecode provider name : javassist
11:39:48 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
Exception in thread "main" org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
at org.hibernate.dialect.Dialect.instantiateDialect(Dialect.java:191)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:169)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:184)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:123)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:92)
at br.com.caelum.hibernate.GerarTabelas.main(GerarTabelas.java:15)
e não consigo dar sequencia de jeito nenhum.
Segue as classes:
Produto
package br.com.caelum.hibernate;
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 double preco;
private Calendar dataInicioVenda;
public long getId() {
return id;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
public Calendar getDataInicioVenda() {
return dataInicioVenda;
}
public void setId(long id) {
this.id = id;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setPreco(double preco) {
this.preco = preco;
}
public void setDataInicioVenda(Calendar dataInicioVenda) {
this.dataInicioVenda = dataInicioVenda;
}
}
GerarTabelas
package br.com.caelum.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GerarTabelas {
public static void main(String[] args) {
// TODO Auto-generated method stub
Configuration cfg = new Configuration();
cfg.addAnnotatedClass(Produto.class);
SchemaExport se = new SchemaExport(cfg);
se.create(true, true);
}
}
Entao, eu coloquei os 2 jars que faltavam, arrumei o hibernate e agora me da essa mensagem aqui:
15:14:00 INFO [Version] Hibernate Commons Annotations 3.2.0.Final
15:14:00 INFO [Environment] Hibernate 3.6.0.CR2
15:14:00 INFO [Environment] loaded properties from resource hibernate.properties: {hibernate.connection.username=root, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.show_sql=true , hibernate.connection.url=jdbc:mysql://localhost/fj21, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.driver_class=org.gjt.mm.mysql.Driver, hibernate.format_sql=true }
15:14:00 INFO [Environment] Bytecode provider name : javassist
15:14:00 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
15:14:00 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLDialect
15:14:00 INFO [Configuration] Hibernate Validator not found: ignoring
15:14:00 INFO [SchemaExport] Running hbm2ddl schema export
15:14:00 INFO [SchemaExport] exporting generated schema to database
15:14:00 INFO [DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!)
15:14:00 INFO [DriverManagerConnectionProvider] Hibernate connection pool size: 20
15:14:00 INFO [DriverManagerConnectionProvider] autocommit mode: false
15:14:00 INFO [DriverManagerConnectionProvider] using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost/fj21
15:14:00 INFO [DriverManagerConnectionProvider] connection properties: {user=root}
15:14:01 INFO [SchemaExport] schema export complete
15:14:01 INFO [DriverManagerConnectionProvider] cleaning up connection pool: jdbc:mysql://localhost/fj21
então está funcionando, as tabelas do banco foram geradas?
crie um comando sql usando a session do hibernate e execute, como show_sql está true irá mostrar o sql no log