Estou começando com java e mais ainda com Hibernate. Ao tentar adicionar um produto no mysql da a seguinte mensagem:
2012-12-17 19:22:59,171[HH:mm:ss] INFO [Version] Hibernate Annotations 3.4.0.GA
2012-12-17 19:22:59,203[HH:mm:ss] INFO [Environment] Hibernate 3.3.2.GA
2012-12-17 19:22:59,203[HH:mm:ss] INFO [Environment] hibernate.properties not found
2012-12-17 19:22:59,218[HH:mm:ss] INFO [Environment] Bytecode provider name : javassist
2012-12-17 19:22:59,218[HH:mm:ss] INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
2012-12-17 19:22:59,421[HH:mm:ss] INFO [Version] Hibernate Commons Annotations 3.1.0.GA
2012-12-17 19:22:59,453[HH:mm:ss] INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
2012-12-17 19:22:59,562[HH:mm:ss] INFO [AnnotationBinder] Binding entity from annotated class: br.com.sapatos.sapatos.model.Produto
2012-12-17 19:22:59,625[HH:mm:ss] INFO [EntityBinder] Bind entity br.com.sapatos.sapatos.model.Produto on table Produto
2012-12-17 19:22:59,687[HH:mm:ss] INFO [AnnotationConfiguration] Hibernate Validator not found: ignoring
2012-12-17 19:22:59,765[HH:mm:ss] WARN [UserSuppliedConnectionProvider] No connection properties specified - the user must supply JDBC connections
Exception in thread “main” org.hibernate.HibernateException: ‘hibernate.dialect’ must be set when no Connection avalable
at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:138)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at br.com.sapatos.sapatos.controller.AdicionaProduto.main(AdicionaProduto.java:27)
Arquivo, hibernate.properties:
MySQL
#hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.dialect org.hibernate.dialect.MySQL5InnoDBDialect
#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/sapatos
hibernate.connection.username = root
hibernate.connection.password = ma0203
hibernate.show_sql = true
hibernate.format_sql = true
Classe Produto:
package br.com.sapatos.sapatos.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Produto {
@Id
private Long codigo_barras;
@GeneratedValue
private Long codigo_produto;
private String cor;
private String modelo;
private String marca;
private String tipo;
private int tamanho;
private char codigo_verificador;
private double preco;
// Construtor - recebe o código de barras
public Produto(Long codigo_barras) {
if (codigo_barras == null) {
throw new IllegalArgumentException(
"Código de barras não pode ser nulo");
} else if (codigo_barras <= 0) {
throw new IllegalArgumentException(
"Código de barras não pode ser negativo");
} else
this.codigo_barras = codigo_barras;
}
public Long getCodigo_barras() {
return codigo_barras;
}
public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public int getTamanho() {
return tamanho;
}
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
public Long getCodigo_produto() {
return codigo_produto;
}
public char getCodigo_verificador() {
return codigo_verificador;
}
public void setCodigo_verificador(char codigo_verificador) {
this.codigo_verificador = codigo_verificador;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}
AdicionaProduto:
package br.com.sapatos.sapatos.controller;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import br.com.sapatos.sapatos.model.Produto;
public class AdicionaProduto {
static long codigo_barras = 10;
static Long codigo_barras2 = (Long)codigo_barras;
public static void main(String[] args) {
Produto produto = new Produto(codigo_barras2);
produto.setCor("branco");
produto.setMarca("nike");
produto.setModelo("modelo");
produto.setTamanho(42);
produto.setTipo("tenis");
produto.setPreco(100.0);
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Produto.class);
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
session.beginTransaction();
session.save(produto);
session.getTransaction().commit();
System.out.println("Id do produto: " + produto.getCodigo_produto());
session.close();
}
}
Alguém pode me dar uma ajuda? Obrigado!