Bonjour,
j'ai créer une base de données MySQL (via EasyPhp), et j'insere via un session.persist() un objet qui par cascade sauvegarde toute une structure... jusque là tout va bien
Maintenant que cela marche bien sur MySQL, je répété ce schéma sur MS SQL, je change le fichier de config avec celui qui va bien.
Et là c'est le drame, la même manip me provoque une exception !!
que voici :
org.hibernate.exception.ConstraintViolationException: could not insert: [dsi.emc.pac7000.core.persistence.DatabaseManager]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:63)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1777)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:34)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:240)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:95)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:124)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:529)
....
Caused by: java.sql.SQLException: Impossible d'insérer la valeur NULL dans la colonne 'workspace_uid', table 'PAC7000_1.dbo.WORKSPACE'. Cette colonne n'accepte pas les valeurs NULL. INSERT a échoué.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:364)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2754)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2195)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:620)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:483)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:445)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:402)
at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1759)
... 41 more
je ne comprends pas pourquoi sur l'un cela marche et pas sur l'autre... il y a peut etre un privilege que je n'ai pas en tant qu'utilisateur.
SI quelqu'un voit d'ou cela peu venir...
merci d'avance
Partager