Charly, Obrigado pelo retorno. Vou dar uma analisada melhor no hibernate, talvez tenhamos que fazer algumas modificações nele. Não temos como remove-lo pois é o utilizamos a muito tempo, e agora quando fomos atualizar a versão de outro banco notamos o mesmo problema com campos binários.
Mas voltando ao Postgres notei que na própria API de conexão não me deixa enviar meu dados se tiver com o AutoComit: na classe *org.postgresql.largeobject.LargeObjectManager* *public *LargeObject open(long oid, int mode) *throws *SQLException { *if* (conn.getAutoCommit()) *throw new* PSQLException(GT.tr("Large Objects may not be used in auto-commit mode."), PSQLState.*NO_ACTIVE_SQL_TRANSACTION*); *return new *LargeObject(fp, oid, mode); } então não seria só problema do hibernate, mas sim do driver de conexão também? Alguém tem idéia o porque disso? On Thu, Jul 23, 2009 at 4:14 PM, Charly Frankl <carl...@gmail.com> wrote: > 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 > > -- [ ]'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