Pessoal,
a aplicação abaixo funciona se eu descomentar a configuração "manual" do hibernate.
public class Teste
{
public static void main(String[] args)
{
//um produto qualquer
Produto p = new Produto();
p.setNome("arroz");
p.setPreco(1.45);
p.setQuantidade(100);
System.out.println("Produto: "+p);
//inicialização do hibernate
Configuration cfg = new Configuration().addClass(Produto.class);
/*
cfg.setProperty("hibernate.connection.driver_class", "org.gjt.mm.mysql.Driver");
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect");
cfg.setProperty("hibernate.connection.url", "jdbc:mysql://localhost/testehiber");
cfg.setProperty("hibernate.connection.username", "testehiber");
cfg.setProperty("hibernate.connection.password", "testehiber");
*/
SessionFactory sf = cfg.buildSessionFactory();
Session sess = sf.openSession();
//gravação do produto no banco
Transaction t = sess.beginTransaction();
sess.save(p);
t.commit();
//fechamento da sessão
sess.close();
}
}
Já tentei colocar o hibernate.cfg.xml no mesmo diretório de Teste e Produto (onde está Produto.hbm.xml, que foi encontrado) e tb já tentei colocar no diretório raiz da app.
Nenhum funciona, então eu pergunto, onde fica o hibernate.cfg??? Na documentação ele só indica para apps web, mas e para uma app normal?
Eis as msgs de erro:
org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:477)
at org.hibernate.dialect.Dialect.getDialect(Dialect.java:499)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:51)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1505)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1053)
at exemplohibernatenb4.Teste.main(Teste.java:40)
Exception in thread "main"
Se for de alguma utilidade, eis o hibernate.cfg:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- properties -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/testehiber</property>
<property name="hibernate.connection.username">testehiber</property>
<property name="hibernate.connection.password">testehiber</property>
<!-- mapping files -->
<mapping resource="Produto.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Agradeço a ajuda.