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…
Valeus
Você tem certeza absoluta que a exceção não está sendo silenciada em lugar nenhum?
Coloque o código aí.
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.
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();
}
public void insert(Amigo amigo) throws Exception {
//Session session = factory.openSession();
session.save(amigo);
HibernateUtil.commitTransaction();
session.flush();
session.close();
}
–Segunda
public class HibernateUtil {
private static Log log = LogFactory.getLog(HibernateUtil.class);
private static Configuration configuration;
private static SessionFactory sessionFactory;
private static final ThreadLocal threadSession = new ThreadLocal();
private static final ThreadLocal threadTransaction = new ThreadLocal();
private static final ThreadLocal threadInterceptor = new ThreadLocal();
static {
try {
sessionFactory = new Configuration()
.addClass(Amigo.class)
.addClass(daos.Pessoa.class)
.addClass(daos.Endereco.class)
.buildSessionFactory();
} catch (Throwable ex) {
log.error("Building SessionFactory failed.", ex);
throw new ExceptionInInitializerError(ex);
}
}
public static void closeSession()
throws InfrastructureException {
try {
Session s = (Session) threadSession.get();
threadSession.set(null);
if (s != null && s.isOpen()) {
log.debug("Closing Session of this thread.");
s.close();
}
} catch (HibernateException ex) {
throw new InfrastructureException(ex);
}
}
/**
* Start a new database transaction.
*/
public static void beginTransaction()
throws InfrastructureException {
Transaction tx = (Transaction) threadTransaction.get();
try {
if (tx == null) {
log.debug("Starting new database transaction in this thread.");
tx = getSession().beginTransaction();
threadTransaction.set(tx);
}
} catch (HibernateException ex) {
throw new InfrastructureException(ex);
}
}
/**
* Commit the database transaction.
*/
public static void commitTransaction()
throws InfrastructureException {
Transaction tx = (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 (HibernateException ex) {
rollbackTransaction();
throw new InfrastructureException(ex);
}
}
Boa tarde turma, gostaria de uma ajuda com o seguinte erro:
Exception in thread “main” java.lang.ExceptionInInitializerError
at classesDAO.PessoaDAO.(PessoaDAO.java:14)
at classesDAO.TesteInsercao.main(TesteInsercao.java:26)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.hibernate.cfg.Configuration.(Configuration.java:110)
… 2 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
… 6 more
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.