Bom dia pessoal,
Estou fazendo um teste com o Hibernate, para ele fazer uma simples listagem no banco MySql e o mesmo me da Erro.
Seguem as classses.
Funcionario
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Funcionario {
@Id
@GeneratedValue
private Long id;
private String nome;
private String usuario;
private String senha;
private String email;
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 getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
HibernateUtil
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import br.com.model.Funcionario;
public class HibernateUtil {
private static SessionFactory factory;
static{
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Funcionario.class);
factory = cfg.buildSessionFactory();
}
public static Session getSession(){
return factory.openSession();
}
}
TesteBusca
public class TesteBusca {
public static void main(String[] args) {
Session s = HibernateUtil.getSession();
//Funcionario f = (Funcionario) s.load(Funcionario.class, 2L);
Funcionario encontrado = (Funcionario) s.load(Funcionario.class, new Long(2));
// System.out.println("Nome: " +f.getEmail());
// System.out.println("Id: " +f.getId());
System.out.println("Select já foi feito");
System.out.println(encontrado.getNome());
System.out.println(encontrado.getClass().getName());
}
}
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="session">
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/teste</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<mapping class="br.com.model.Funcionario" />
</session-factory>
</hibernate-configuration>
O erro que me acontece é o seguinte…
Exception in thread "main" java.lang.ExceptionInInitializerError
at br.com.teste.TesteBusca.main(TesteBusca.java:14)
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:80)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:62)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:460)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:155)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at br.com.hibernateUtil.HibernateUtil.<clinit>(HibernateUtil.java:18)
... 1 more
O que pode estar acontecendo??
Obrigado Fico no Aguardo…!