Pessoal,
Estou tentando fazer o meu exemplo funcionar de qualquer maneira. Resolvi apelar para a configuração programática. O exemplo ficou assim:
public class InserirProduto
{
public static void main(String[] args)
{
//um produto qualquer
Produto p = new Produto();
p.setNome("arroz");
p.setPreco(1.45);
p.setQuantidade(100);
//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();
}
}
E a msg de erro do netbeans é:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:80)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.AbstractBatcher.openConnection(AbstractBatcher.java:413)
at org.hibernate.jdbc.JDBCContext.connect(JDBCContext.java:141)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:88)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:49)
at org.hibernate.transaction.JDBCTransactionFactory.beginTransaction(JDBCTransactionFactory.java:19)
at org.hibernate.jdbc.JDBCContext.beginTransaction(JDBCContext.java:204)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1014)
at InserirProduto.main(InserirProduto.java:34)
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.AbstractBatcher.openConnection(AbstractBatcher.java:410)
... 7 more
Exception in thread "main"
Antes que alguém pergunte: sim, eu coloquei o driver no classpath: copiei-o no diretório da aplicação, montei o jar (netbeans 3.6) e por via das dúvidas tb configurei o danado no runtime do netbeans (depois de ter tentando sem isso).
Estou começando a desconfiar que fazer o mapeamento O/R na mão dá menos trabalho… pelo menos funciona…

Já tentei tb colocar o dialect como MySQLDialect puro, mas não funcionou tb.
Sugestões para sair desse enrosco?
