Galera não estou conseguindo gerar tabelas no hibernate, estou tentando aprender hibernate utilizando a apostila da caelum então estou usando o hibernate.properties e annotations portanto não uso o hibernate.cfg.xml
O erro que está acontecendo é esse
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
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:233)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:211)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:226)
at org.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:86)
at org.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:61)
at br.com.caelum.hibernate.GeraTabelas.main(GeraTabelas.java:13)
Java Result: 1
vou colocar meu codigo aqui
classe Produto
@ 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;
}
}
classe GeraTabelas
public class GeraTabelas {
public static void main(String[] args) {
// Cria uma configuração para a classe Produto
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
new SchemaExport(cfg).create(true, true);
}
}
classe HibernateFactory
public class HibernateFactory {
private static SessionFactory factory;
static {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
factory = cfg.buildSessionFactory();
}
public Session getSession() {
return factory.openSession();
}
}
hibernate.properties
PostgreSQL
hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.driver_class org.postgresql.Driver
hibernate.connection.url jdbc:postgresql:exemplohibernate
hibernate.connection.username postgres
hibernate.connection.password postgresql
classe ProdutoDAO
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);
}
}
coloquei todos os jar necessários o que pode ser?