Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version : 2.0
Full stack trace of any exception that occurs :
net.sf.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at net.sf.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:63)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:30)
at net.sf.hibernate.impl.BatcherImpl.convert(BatcherImpl.java:325)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:134)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:60)
at net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl.java:57)
at net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(BatcherImpl.java:110)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:456)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:438)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:37)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2438)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2391)
at net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1820)
at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1577)
at net.sf.hibernate.impl.SessionImpl.iterate(SessionImpl.java:1601)
at net.sf.hibernate.impl.QueryImpl.iterate(QueryImpl.java:27)
at integration.insertion.DataInsertion.getFabriquantFromDatabase(DataInsertion.java:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at integration.insertion.DataInsertion.saveObject(DataInsertion.java:113)
at integration.capitoul.DataDistribution.distributionPlateformes(DataDistribution.java:198)
at integration.capitoul.DataDistribution.distribute(DataDistribution.java:113)
at integration.insertion.Principal.main(Principal.java:99)
Caused by: Batch entry 0 insert into categorie_param (categorie_param_nom, categorie_param_domaine, categorie_param_id) values ( was aborted. Call getNextException() to see the cause.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:107)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:127)
... 21 more
Name and version of the database you are using : postgresql 7.4.2
Bonjour!
J'ai un souci incompréhensible avec un programme d'insersion. Je l'ai fait il y a un mois et il marchait très bien et lorsque j'ai voulu le réutiliser, il ne marchait plus!
Le code qui foire est celui-ci :
public Fabriquant getFabriquantFromDatabase (Object fabriquant) {
Query query = null;
Iterator it_query = null;
Fabriquant result = null;
try {
query = this.sessionFactory.createQuery ("from Fabriquant as Fab where Fab.fabriquantNom = :fabriquant");
query.setString ("fabriquant", ((Fabriquant)fabriquant).getFabriquantNom ());
it_query = query.iterate ();
if (it_query.hasNext()) {
result = (Fabriquant)it_query.next ();
}
} catch (HibernateException e) {
System.out.println ("HIBERNATE : Problème pour retrouver le fabriquant "
+ ((Fabriquant)fabriquant).getFabriquantNom ()
+ " dans la base de données");
e.printStackTrace ();
}
return result;
}
Il s'agit de vérifier si un objet Fabriquant, instancié à partir des données d'un document Excel, est déjà dans la base ou pas.
Ceci marche très bien pour les 3 premiers Fabriquant de mon xls, mais au 4eme, il me sort l'exception que j'ai copié plus haut "could not execute JDBC batch update".
Il est à noter que l'exception apparait lorsque le Fabriquant en question n'est pas déjà présent dans la base (les premiers le sont déjà)! De plus, le même cas de figure apparaît pour d'autres objets à insérer, de la même manière!
Voila, j'ai essayé de résumer la situation.
Si vous connaissez cette erreur ou que vous avez une solution à mon problème, ca serait gentil de m'en faire part!
Merci d'avance!