Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 01/03/2013 20:46:10
- borni
- Membre
Les Large Objects ne devraient pas être utilisés en mode auto-commit
Bonjour;
dans une application j2ee j'utilise Postgresql 9.1 , hibernate ,spring.
j'ai un champ de type bytea :
image bytea
mapping :
<property name="image" type="blob"> <column name="image" /> </property>
je peux pas enregistrer l'objet ayant l'attribut image .et voic' ce qui affiche le console
org.postgresql.util.PSQLException: Les Large Objects ne devraient pas être utilisés en mode auto-commit.
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:239)
at org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:226)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setBlob(AbstractJdbc2Statement.java:2899)
at org.hibernate.type.BlobType.set(BlobType.java:72)
at org.hibernate.type.BlobType.nullSafeSet(BlobType.java:140)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2015)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2389)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:299)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:313)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:581)
at org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:577)
at com.base.daoImpl.BaseParametresDaoImpl.updateParametres(BaseParametresDaoImpl.java:28)
at com.base.servicesImpl.BaseParametresServiceImpl.updateParametres(BaseParametresServiceImpl.java:29)
at com.base.beans.BaseParametresBean.saveOrUpdate(BaseParametresBean.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
comment je peux désactiver le mode autau-commit sous windows et sous ubutu ?
et merci.
Hors ligne
#2 01/03/2013 21:41:03
- rjuju
- Administrateur
Re : Les Large Objects ne devraient pas être utilisés en mode auto-commit
Bonjour,
le mode auto-commit vient de votre programme java, et non de la base ou du système d'exploitation. Il faut le désactiver sur hibernate, avec la fonction Connection.setAutoCommit(). Cela devrait résoudre votre problème.
Julien.
https://rjuju.github.io/
Hors ligne
#3 01/03/2013 21:45:54
- borni
- Membre
Re : Les Large Objects ne devraient pas être utilisés en mode auto-commit
merci bien pour votre réponse rapide;
j'ai bien le désactivé dans la configuration d'hibernate
<prop key="hibernate.connection.autocommit">
false
</prop>
mais toujours le même probleme.
Hors ligne
#4 01/03/2013 22:18:15
- rjuju
- Administrateur
Re : Les Large Objects ne devraient pas être utilisés en mode auto-commit
En utilisant une transaction pour cette partie du code alors ?
Julien.
https://rjuju.github.io/
Hors ligne