Bonjour,
J'utilise depuis peu Hibernate, avec une base oracle, en me basant sur le tutorial de Serge Tahé.
Tout ce que je fais semble bien fonctionner, j'observe cependant dans la console une erreur à intervalle régulier, dont je n'ai pas réussi à trouver l'origine :
Code:
INFO: Problem with checked-in Statement, discarding.
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBData.clearItem(DBData.java:431)
at oracle.jdbc.dbaccess.DBDataSetImpl.clearItem(DBDataSetImpl.java:3528)
at oracle.jdbc.driver.OraclePreparedStatement.clearParameters(OraclePreparedStatement.java:3401)
at com.mchange.v2.c3p0.stmt.GooGooStatementCache.refreshStatement(GooGooStatementCache.java:522)
at com.mchange.v2.c3p0.stmt.GooGooStatementCache.checkinStatement(GooGooStatementCache.java:136)
at com.mchange.v2.c3p0.impl.NewPooledConnection.checkinStatement(NewPooledConnection.java:173)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.close(NewProxyPreparedStatement.java:1807)
at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:526)
at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:265)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:245)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:53)
at tests.carte.main(carte.java:50)
Voici le code en question, que j'ai un peu épuré, la ligne 50 désignant commit :
Code:
public class Carte {
// Contexte de persistance
private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
private static EntityManager em = null;
public static void main(String[] args) throws Exception {
// contexte de persistance
EntityManager em = getEntityManager();
// création Images
Image image1 = new Image("test");
// début transaction
EntityTransaction tx = em.getTransaction();
tx.begin();
// persistance des images et categorie
em.persist(image1);
// fin transaction
tx.commit();
// fin contexte de persistance
if (em.isOpen())
em.close();
// fermeture EntityManagerFactory
emf.close();
}
Mes recherches google sur cette erreur n'ont pas donné grand chose...
Merci d'avance pour vos réponses.