Galera, primeiro post aqui no GUJ e logo de cara venho pedir auxílio. 
Tenho o seguinte cenário: no meu banco de dados - SQL Server 2005 - tenho uma entidade com um campo (apresentacaoXML) que, como o nome sugere, tem tipo de dados XML mesmo.
Do lado do Java, no meu Entity Bean, este atributo está mapeado como um byte[] e, feitas as devidas anotações da JPA, ao persistir este atributo, recebo uma exception conforme trechos do stack que coloquei abaixo:
...
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.exception.DataException: could not update: [br.com.teste.Publicacao#1020]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:100)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2453)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)
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:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
… 62 more
Caused by: java.sql.SQLException: Operand type clash: image is incompatible with xml
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:505)
at net.sourceforge.jtds.jdbcx.proxy.PreparedStatementProxy.executeUpdate(PreparedStatementProxy.java:75)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:251)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2431)
… 73 more
Alguém já lidou com este problema “SQLException: Operand type clash: image is incompatible with xml” em alguma situação similar?
Dei uma procurada aqui no fórum, mas não consegui encontrar - caso já tenha sido discutido, peço desculpas por não ter sido efetivo na busca.
Só para auxiliar, aqui segue trecho do meu Entity Bean de Publicação:
@Entity( name = "Publicacao" )
@Table( name = "Atividades_Publicacoes" )
public class Publicacao implements java.io.Serializable {
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
@Column( name = "id", nullable = false, insertable = true, updatable = true )
private Long id;
@Basic( optional = true )
@Lob
@Column( name = "apresentacaoXML", insertable = true, updatable = true )
private byte[] apresentacaoXML;
/*
* getters, setter e outros atributos abstraídos para facilitar na visualização
*/
Obrigado galera, tudo de bom!