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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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.