IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

synchroniser les acces a la session http


Sujet :

Hibernate Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut synchroniser les acces a la session http
    Bonjour !
    Je reformule ma demande, elle ne devait pas etre tres clair !
    Quand une page est rechargée(un utilisateur clic plusieurs fois sur le bouton valider,), je recois cette exception :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
     
     
    09:12:22,265 ERROR [JDBCTransaction] JDBC rollback failed
    java.sql.SQLException: Can't call rollback when autocommit=true
    	at com.mysql.jdbc.Connection.rollback(Connection.java:1472)
    	at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
    	at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
    	at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
    	at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
    	at com.eurecia.hibernate.PersistentObjectDAO.rollback(PersistentObjectDAO.java:1025)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:157)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    09:12:22,265 INFO  [STDOUT] org.hibernate.TransactionException: JDBC rollback failed
    	at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
    	at com.eurecia.hibernate.PersistentObjectDAO.rollback(PersistentObjectDAO.java:1025)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:157)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: Can't call rollback when autocommit=true
    	at com.mysql.jdbc.Connection.rollback(Connection.java:1472)
    	at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:535)
    	at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:460)
    	at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
    	at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
    	... 41 more
    09:12:22,265 INFO  [STDOUT] Hibernate: 
        select
            items0_.ID_IMPUTATION_STRUCTURE as ID1_0_,
            items0_.ID_COMPANY as ID2_0_,
            items0_.ID_IMPUTATION_STRUCTURE_ITEM as ID3_0_,
            items0_.NUM_ITEM as NUM4_0_,
            items0_.DESCRIPTION as DESCRIPT5_0_,
            items0_.TYPE as TYPE0_ 
        from
            IMPUTATION_STRUCTURE_ITEM_EA items0_ 
        where
            items0_.ID_IMPUTATION_STRUCTURE=? 
            and items0_.ID_COMPANY=? 
        order by
            items0_.NUM_ITEM
    09:12:22,281 ERROR [OpenExpensesReportAction] Error: 
    com.eurecia.hibernate.exception.PersistanceException: not-null property references a null or transient value: com.eurecia.service.expensesReport.ExpensesReport.dateCreate
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:158)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.eurecia.service.expensesReport.ExpensesReport.dateCreate
    	at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
    	at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:256)
    	at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:114)
    	at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195)
    	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:140)
    	... 39 more
    Nested exception:
    org.hibernate.PropertyValueException: not-null property references a null or transient value: com.eurecia.service.expensesReport.ExpensesReport.dateCreate
    	at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
    	at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:256)
    	at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:114)
    	at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195)
    	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:140)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    Ya t-il une configuration a faire dans hibernate, ou une fonction a rajouter dans le code !
    Je ne sais pas quoi faire, et depuis hier je ne trouver pas la solution!
    Si vous pouviez m'aider, m'enléverais un gros fardeau !
    Pour infos j'ai une datasource,configurer avec des cles composé
    le code du update qui ne marche pas au bout de quelques clics :

    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
    31
    32
    33
    34
    35
    36
    37
     
    public void update(PersistentObject object) throws PersistanceException, DuplicateEntryException {
     
            Session session = null ;
            Transaction transaction = null;
     
            try {
                session = HibernateSessionFactory.currentSession();
                transaction = session.beginTransaction();
     
                session.update(object);
     
                transaction.commit();
     
     
            } catch (ConstraintViolationException cve) {
                rollback(transaction);
     
               // System.out.print(cve.getErrorCode()+"\n\n");
     
                // duplicate item
                if (cve.getErrorCode()==1062)
     
    				throw new DuplicateEntryException(cve.getMessage());
     
                // persistance error
    			throw new PersistanceException(cve.getMessage(),cve);
     
    		} catch (Exception he) {
    		    rollback(transaction);
                throw new PersistanceException(he.getMessage(),he);
    		}
    		finally
    		{
    			try {HibernateSessionFactory.closeSession(); } catch (Exception he) {}
    		}
    	}
    Merci !

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Je connais pas Hibernate (enfin je connais, mais je n'ai jamais utilisé), tu ne peux pas faire un transaction.setAutoCommit(false)?

  3. #3
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    ce ne serait pas ca ton problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.PropertyValueException: not-null property references a null or transient value: com.eurecia.service.expensesReport.ExpensesReport.dateCreate

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Ah ! vraiment merci pour vos reponse !
    J'ai essayé avec le setAutocommit = false et toujours pareil !
    et pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.hibernate.PropertyValueException: not-null property references a null or transient value: com.eurecia.service.expensesReport.ExpensesReport.dateCreate
    c'est exactement ca ! mais je comprends pas pas bien le probleme, pourrais tu m'en dire un peu plus, je debute sous hibernate, en attendant je vais faire mes propres recherches!

  5. #5
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Ben d'après ce qui est écrit dans ton objet ExpensesReport l'attibut dateCreate est null (ou transcient si tu passe par de la serialisation) alors que pour la table c'est Not-Null

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    J'ai verifié dans mon fichier fichier expensesReport.hbm.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <property name="dateCreate" type="java.util.Date">
    	      	<column name="DATE_CREATE" scale="19" precision="0" not-null="true" sql-type="datetime" />
    	    </property>
    J'ai bien l'attibut à not-null et dans ma table agalement !

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    C'est l'objet que tu lui passes qui doit avoir une propriété à null alors que ta base a une contrainte not null sur ce champ.
    Verifie que la propriété de ton objet que tu veux sauvegarder n'est pas null.

  8. #8
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    c'est bien ce qui est écrit
    mais par contre la valeur de l'object qui doit être mis dans cette table à un dateCreate=null;
    et donc quand tu fais l'update (com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:157)) il y a un conflit.
    Aussi fort que soit hibernate il ne peut mettre un null dans un colonne not-null

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Merci, c'est exactement, donc je n'ai pas initialisé le Datecreate!
    Mais je recois une nouvelle exception
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
     
    12:15:17,562 ERROR [AbstractBatcher] Exception executing batch: 
    org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
    	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
    	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
    	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:142)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    12:15:17,593 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
    org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
    	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
    	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
    	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:142)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    12:15:17,593 ERROR [OpenExpensesReportAction] Error: 
    com.eurecia.hibernate.exception.PersistanceException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:161)
    	at com.eurecia.service.ServiceBase.updateEntity(ServiceBase.java:193)
    	at com.eurecia.service.expensesReport.ExpensesReportService.updateEntity(ExpensesReportService.java:279)
    	at com.eurecia.web.common.action.EureciaOpenAction.save(EureciaOpenAction.java:259)
    	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.save(OpenExpensesReportAction.java:249)
    	at com.eurecia.web.common.action.EureciaOpenAction.apply_onClick(EureciaOpenAction.java:209)
    	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:324)
    	at com.cc.framework.adapter.struts.ActionUtil.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.handleFormAction(Unknown Source)
    	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:534)
    Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
    	at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
    	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
    	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
    	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
    	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
    	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
    	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
    	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
    	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
    	at com.eurecia.hibernate.PersistentObjectDAO.update(PersistentObjectDAO.java:142)
    	... 39 more
    Es ce que ca peux etre du au changement que je vien de faire ou a autre chose?
    Merci!

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    fnobb, je n'ai pas dit que ta réponse était fausse, j'ai juste reformulé parce qu'à priori, il n'avait pas compris. (cela dit, je n'ai pas été forcément plus clair)

    decksroy, pour en revenir à ton problème, es-tu certain que l'objet sur lequel tu veux faire un update existe bien en base ?

  11. #11
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    @fr1man ma réponse était pour decksroy. t'as juste été plus rapide que moi pour l'écrire.

    @decksroy un peu de code peut nous aider comme la (ou les) méthode(s) updateEntity

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Voila le updateEntity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public HistorizedObject updateEntity(HistorizedObject ent, EureciaSession session) throws EureciaException
    	{
    		ent.setDateUpdate(new Date());
    		ent.setUserUpdate(session.getUser().getEmail());
     
    		update(ent);
    		return null ;
    	}
    puis ma fonction update:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    public void update(PersistentObject object) throws PersistanceException, DuplicateEntryException {
     
            Session session = null ;
            Transaction transaction = null;
     
            try {
                session = HibernateSessionFactory.currentSession();
                transaction = session.beginTransaction();
     
     
     
                session.update(object);
     
                transaction.commit();
     
     
     
            } catch (ConstraintViolationException cve) {
                rollback(transaction);
     
               // System.out.print(cve.getErrorCode()+"\n\n");
     
                // duplicate item
                if (cve.getErrorCode()==1062)
     
    				throw new DuplicateEntryException(cve.getMessage());
     
                // persistance error
    			throw new PersistanceException(cve.getMessage(),cve);
     
    		} catch (Exception he) {
    		    rollback(transaction);
                throw new PersistanceException(he.getMessage(),he);
    		}
    		finally
    		{
    			try {HibernateSessionFactory.closeSession(); } catch (Exception he) {}
    		}
    	}
    Ma table :
    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
     
    CREATE TABLE EXPENSES_REPORT_EA(ID_COMPANY varchar(50) NOT NULL
    		,ID_USER varchar(50) NOT NULL
    		,ID_EXPENSES_REPORT varchar(50) NOT NULL
    		,DESCRIPTION varchar(255) NOT NULL
    		,REF varchar(50) 
    		,PERIOD_START datetime NOT NULL
    		,PERIOD_END datetime NOT NULL
    		,STATUS varchar(10) NOT NULL
    		,TOTAL_AMOUNT_HT decimal(10,2) NOT NULL
    		,TOTAL_AMOUNT_VAT decimal(10,2) NOT NULL
    		,TOTAL_AMOUNT_TTC decimal(10,2) NOT NULL
    		,TOTAL_AMOUNT_CURRENCY varchar(10) NOT NULL
    		,COMMENT_EMPLOYEE varchar(8000) 
    		,COMMENT_VALIDATOR varchar(8000) 
    		,ID_ATTACHED_FILE varchar(50) 
    		,FISCAL_POWER varchar(10) 
    		,DATE_REPORT_SUBMISSION datetime 
    		,USER_CREATE varchar(255) NOT NULL
    		,DATE_CREATE datetime NOT NULL
    		,USER_UPDATE varchar(255) 
    		,DATE_UPDATE datetime 
    		, PRIMARY KEY(ID_COMPANY,ID_USER,ID_EXPENSES_REPORT)
    		);
     
    S'il vous manque le form et l'action (setEntity), je l'enverrais !

  13. #13
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    comme la dit fr1man c'est peut-être que l'object n'existe pas en base.
    il y a une différence pour Hibernate entre update() (mise à jour) et create() (insertion). tu peux essayer la methode createOrUpdate().

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Ouah merci mille fois! Ca marche enfin !
    je teste encore un peu ! puis je mettrais le ptit tag !
    petit detail : c'est saveOrUpdate au lieu de createOrUpdate

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    J'ai parlé trop vite, j'ai cette exeption a l'open :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    15:21:54,093 INFO  [OpenExpensesReportAction] Enterring function doExecute(ctx)
    15:21:54,093 ERROR [OpenExpensesReportAction] Unable to open entity: java.lang.ArrayIndexOutOfBoundsException: 2
    15:21:54,093 INFO  [STDOUT] java.lang.ArrayIndexOutOfBoundsException: 2
    15:21:54,093 INFO  [STDOUT] 	at com.eurecia.service.expensesReport.ExpensesReportId.parse(ExpensesReportId.java:131)
    15:21:54,093 INFO  [STDOUT] 	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.getIdFromKey(OpenExpensesReportAction.java:140)
    15:21:54,093 INFO  [STDOUT] 	at com.eurecia.web.common.action.EureciaOpenAction.doExecute(EureciaOpenAction.java:82)
    15:21:54,093 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    15:21:54,093 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    15:21:54,093 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    15:21:54,093 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    15:21:54,093 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    15:21:54,093 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    15:21:54,109 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    15:21:54,109 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:21:54,109 INFO  [STDOUT] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    15:21:54,109 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    15:21:54,109 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    15:21:54,109 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    15:21:54,109 INFO  [STDOUT] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    15:21:54,109 INFO  [STDOUT] 	at java.lang.Thread.run(Thread.java:534)
    15:21:54,125 INFO  [STDOUT] Hibernate:
    es ce que ca peut venit de la

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void emptyFields()
    	{
    		dateCreate = new Date() ; // 
    		userCreate = "";
    		dateUpdate = new Date() ;
    		userUpdate = "";
    	}
    J'ai mis ca au lieu de dateCreate=null
    et dateUpdate = null

  16. #16
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    et save() au lieu de create() alors

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    oui c'est sur ca que je t'ai repondu : ca marche maintenant!
    j'ai mis saveOrUpdate(createOrUpdate n'existe pas : enfin je sais pas mais ici il ne l'accepte pas)!

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    et l'exception survient maintenant sur l'openEntity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Object[] data = form.getCurrentService().openEntity(getIdFromKey(key),form.getSession(),HibernateSessionFactory.currentSession());

  19. #19
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    et quelle est l'erreur ?
    et que fait la méthode openEntity ?

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Je te remets l'eurreur :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    15:58:08,578 INFO  [OpenExpensesReportAction] Enterring function doExecute(ctx)
    15:58:08,578 ERROR [OpenExpensesReportAction] Unable to open entity: java.lang.ArrayIndexOutOfBoundsException: 2
    15:58:08,578 INFO  [STDOUT] java.lang.ArrayIndexOutOfBoundsException: 2
    15:58:08,578 INFO  [STDOUT] 	at com.eurecia.service.expensesReport.ExpensesReportId.parse(ExpensesReportId.java:131)
    15:58:08,578 INFO  [STDOUT] 	at com.eurecia.web.expensesReport.open.OpenExpensesReportAction.getIdFromKey(OpenExpensesReportAction.java:140)
    15:58:08,578 INFO  [STDOUT] 	at com.eurecia.web.common.action.EureciaOpenAction.doExecute(EureciaOpenAction.java:82)
    15:58:08,578 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.ActionUtil.execute(Unknown Source)
    15:58:08,578 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    15:58:08,578 INFO  [STDOUT] 	at com.cc.framework.adapter.struts.FWAction.execute(Unknown Source)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    15:58:08,578 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    15:58:08,578 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
    15:58:08,578 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    15:58:08,578 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:58:08,578 INFO  [STDOUT] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    15:58:08,578 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    15:58:08,578 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
    15:58:08,578 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    15:58:08,578 INFO  [STDOUT] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    15:58:08,578 INFO  [STDOUT] 	at java.lang.Thread.run(Thread.java:534)
    15:58:08,593 INFO  [STDOUT] Hibernate: 
        select
    Apparement la fonction saveOrUpdate me fait des doublons dans la base !
    Par exemple il va me mettre 2 fois la meme description d'un ExpensesReport
    mais il y'en a un qui se retrouve sans ID
    d'ou le probleme dans l'openEntity :
    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
    31
    32
    33
    34
    35
    36
     
    public Object[] openEntity(Serializable id, EureciaSession session, Session hbnSession) throws EureciaException
    	{
    		if (!allowOpen())
    		{
    			m_logger.error("Not allowed to open expenses");
    			throw new SecurityException("Not allowed to open expenses");
    		}
     
     
    		StringBuffer queryString = new StringBuffer();
    		queryString.append("SELECT exp, usr.firstname, usr.lastname, usr.email, cny.descr, usr.jobTitle, usr.ref");
    		queryString.append(" FROM ExpensesReport exp, User usr, Company cny");
    		queryString.append(" WHERE exp.id.idExpensesReport = :idExpensesReport");
    		queryString.append(" AND exp.id.idUser = :idUser");
    		queryString.append(" AND exp.id.idCompany = :idCompany");
    		queryString.append(" AND usr.id.idUser = exp.id.idUser");
    		queryString.append(" AND usr.id.idCompany = exp.id.idCompany");
    		queryString.append(" AND usr.id.idCompany = cny.id");
     
    		Map params = new HashMap();
     
    		params.put("idCompany",((ExpensesReportId)id).getIdCompany());
    		params.put("idUser",((ExpensesReportId)id).getIdUser());
    		params.put("idExpensesReport",((ExpensesReportId)id).getIdExpensesReport());
     
    		List list = (List)executeQuery(queryString.toString(),params,hbnSession);
     
    		if ( list.size() == 0)
    		{
    			m_logger.error("Unable to open expenses report");
    			throw new EureciaException("Unable to open expenses report");
    		}
     
    		return (Object[])list.get(0);
    	}

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. gérer les accès en fonction de sa session
    Par frommage dans le forum Langage
    Réponses: 1
    Dernier message: 07/06/2013, 16h20
  2. Réponses: 4
    Dernier message: 09/08/2012, 15h28
  3. Monitorer les sessions HTTP actives
    Par felix79 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/04/2012, 16h37
  4. Réponses: 2
    Dernier message: 14/09/2010, 20h55
  5. [TDataModule] Intérêt de séparer les accès aux données?
    Par Cornell dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/09/2003, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo