Daniel, Campos binários em geral são um problema dentro do hibernate (vou ser sincero, não gosto muito de ORM's ... rsss).... Segue um exemplo simples utilizando JDBC direto, que acho bem mais simples...
File file = new File("myimage.gif"); FileInputStream fis = new FileInputStream(file); PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES (?, ?)"); ps.setString(1, file.getName()); ps.setBinaryStream(2, fis, (int)file.length()); ps.executeUpdate(); ps.close(); fis.close(); Para maiores detalhes, dá uma olhada em http://jdbc.postgresql.org/documentation/80/binary-data.html Att, -- Charly Frankl http://javadevilopers.blogspot.com/ charlyfra...@gmail.com Linux user #391083 2009/7/23 Daniel Henrique Joppi <daniel.jo...@gmail.com> > adicionei a propriedade <property name="defaultAutoCommit" value="false" /> > como sugerido em outros tópicos na internet ... > > alguém conhece uma outra maneira? > > On Wed, Jul 22, 2009 at 9:46 AM, Daniel Henrique Joppi < > daniel.jo...@gmail.com> wrote: > >> Bom dia, >> >> Estou com problemas ao tentar inserir um array de bytes em um campo do >> tipo oid. >> >> org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: >> could not insert: [com.norxs.mama.MyMessage]; uncategorized SQLException for >> SQL [insert into public.MyMessage (isProtocol, domain, sourceID, service, >> flow, priority, status, createdOn, message, props, uniqueid, messageType, >> nrDoc, fromPartner, toPartner, messageSize, billingTo, processedOn, billing, >> groupType, messageIdKey) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, >> ?, ?, ?, ?, ?, ?, ?)]; SQL state [25P01]; error code [0]; Objetos Grandes >> não podem ser usados no modo de efetivação automática (auto-commit).; nested >> exception is org.postgresql.util.PSQLException: Objetos Grandes não podem >> ser usados no modo de efetivação automática (auto-commit). >> at >> org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:121) >> at >> org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322) >> at >> org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424) >> at >> org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410) >> at >> org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:378) >> at >> org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:639) >> at com.norxs.mama.DBPersistence.messageArrived(DBPersistence.java:411) >> at >> com.norxs.mama.jbi.ReceiverLegacyMonoComponent.poll(ReceiverLegacyMonoComponent.java:98) >> at >> org.apache.servicemix.components.util.PollingComponentSupport.run(PollingComponentSupport.java:65) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >> at java.lang.Thread.run(Thread.java:619) >> Caused by: org.postgresql.util.PSQLException: Objetos Grandes não podem >> ser usados no modo de efetivação automática (auto-commit). >> at >> org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:241) >> at >> org.postgresql.largeobject.LargeObjectManager.createLO(LargeObjectManager.java:228) >> at >> org.postgresql.jdbc2.AbstractJdbc2Statement.setBlob(AbstractJdbc2Statement.java:2851) >> at >> org.apache.commons.dbcp.DelegatingPreparedStatement.setBlob(DelegatingPreparedStatement.java:181) >> at org.hibernate.type.BlobType.set(BlobType.java:49) >> at org.hibernate.type.BlobType.nullSafeSet(BlobType.java:117) >> at >> org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2002) >> at >> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2248) >> at >> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2665) >> at >> org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:60) >> 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:167) >> 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.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390) >> at >> org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:374) >> ... 7 more >> >> -- >> [ ]'s >> Daniel Henrique Joppi >> >> msn: no...@hotmail.com >> gtalk: daniel.jo...@gmail.com >> skype: daniel.joppi >> > > > > -- > [ ]'s > Daniel Henrique Joppi > > msn: no...@hotmail.com > gtalk: daniel.jo...@gmail.com > skype: daniel.joppi > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral