Estou com o seguinte problema… consigo fazer a conexao com o banco de dados oracle … faco a inserção do objeto… mas não consigo gravar na tabela… como se eu não conseguisse fazer o commit… nao causa erro algum apenas nao grava no banco.
A classe esta correta pois no banco mysql funciona corretamente… mas quando troco a conexao para o oracle… da esse problema…
Você tem certeza absoluta que a exceção não está sendo silenciada em lugar nenhum?
Coloque o código aí.
Z
ZehOliveira
Você já tentou dá um commit? i.e., abrir uma transação, inserir o dado e commitar a transação.
O MySQL deve tá com autocommit ativado, daí o motivo de você ter conseguido sem ter se preocupado com transação.
R
robertoeb
A primeira classe eh a classe AmigoDAO e a segunda é da construcao da sessao inicio d transacao e commit. Não postei elas inteiras mas as açoes utilizadas estao ai
– primeira
public AmigoDAO() throws Exception {
session = HibernateUtil.getSessionFactory ().openSession();
HibernateUtil.beginTransaction();
//factory = new Configuration().addClass(Amigo.class)
// .buildSessionFactory();
}
privatestaticLoglog=LogFactory.getLog(HibernateUtil.class);privatestaticConfigurationconfiguration;privatestaticSessionFactorysessionFactory;privatestaticfinalThreadLocalthreadSession=newThreadLocal();privatestaticfinalThreadLocalthreadTransaction=newThreadLocal();privatestaticfinalThreadLocalthreadInterceptor=newThreadLocal();static{try{sessionFactory=newConfiguration().addClass(Amigo.class).addClass(daos.Pessoa.class).addClass(daos.Endereco.class).buildSessionFactory();}catch(Throwableex){log.error("Building SessionFactory failed.",ex);thrownewExceptionInInitializerError(ex);}}publicstaticvoidcloseSession()throwsInfrastructureException{try{Sessions=(Session)threadSession.get();threadSession.set(null);if(s!=null&&s.isOpen()){log.debug("Closing Session of this thread.");s.close();}}catch(HibernateExceptionex){thrownewInfrastructureException(ex);}}/** * Start a new database transaction. */publicstaticvoidbeginTransaction()throwsInfrastructureException{Transactiontx=(Transaction)threadTransaction.get();try{if(tx==null){log.debug("Starting new database transaction in this thread.");tx=getSession().beginTransaction();threadTransaction.set(tx);}}catch(HibernateExceptionex){thrownewInfrastructureException(ex);}}/** * Commit the database transaction. */publicstaticvoidcommitTransaction()throwsInfrastructureException{Transactiontx=(Transaction)threadTransaction.get();try{if(tx!=null&&!tx.wasCommitted()&&!tx.wasRolledBack()){log.debug("Committing database transaction of this thread.");tx.commit();}threadTransaction.set(null);}catch(HibernateExceptionex){rollbackTransaction();thrownewInfrastructureException(ex);}}
B
Bruno_Camara
Boa tarde turma, gostaria de uma ajuda com o seguinte erro:
Estou trabalhando com middlengen e hibernate com o banco oracle. Estou tentando fazer um teste para salvar alguns dados numa tabela e quando executo a classe gera esse erro esquisito.
Já tentei procurar no google más não obtive sucesso.
Agradeço qualquer ajuda, obrigado.