Problema de persistencia em campo tipo xml do Postgres utilizando JPA

Ola, Estou fazendo um teste utilizando função main para salvar uma entidade que possui uma String, a qual recebe um xml e esta mapeada para salvar em um campo xml do Postgres.
estou utilizando o driver e seguindo os passos do wiki (colocar o prefixo XML no atributo) http://wiki.postgresql.org/wiki/Driver_JDBC4_com_suporte_a_XML#Download mas, acontece o erro que abaixo.
Preciso fazer isso funcionar para um projeto que utiliza um banco legado, por isso não posso mudar o tipo da coluna.

Alguém sabe como resolver este problema ou uma forma fácil de se fazer isso, de referencia utilizando JPA?

Dez de já obrigado!

INFO: Not binding factory to JNDI, no JNDI name configured
10/02/2010 15:11:11 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: null
10/02/2010 15:11:11 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Entrada em lote 0 insert into inventario.amostra (planilha, atrativo_id, data_coleta, expedicao_id, hora_coleta, id_amostra_coletor, id_amostra_projeto, latitude, longitude, metodo_id, projeto_id, protocolo_id, usuario_id, id) values ('<?xml version="1.0" encoding="UTF-8"?>
<planilha><nome>fulano</nome><telefone>2222222</telefone></planilha>
', '11', NULL, '10', NULL, '2', '23434', NULL, NULL, '11', '10', '18', '16', '198') foi abortada. Chame getNextException para ver a causa.
10/02/2010 15:11:11 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 42804
10/02/2010 15:11:11 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERRO: coluna "planilha" é do tipo xml mas expressão é do tipo character varying
  Dica: Você precisará reescrever ou converter a expressão.
  Posição: 33
10/02/2010 15:11:11 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
SEVERE: Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
        at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2229)
        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.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
        at dao.DAOGenerico.cadastrar(DAOGenerico.java:28)
        at teste.Principal.main(Principal.java:90)
Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into inventario.amostra (planilha, atrativo_id, data_coleta, expedicao_id, hora_coleta, id_amostra_coletor, id_amostra_projeto, latitude, longitude, metodo_id, projeto_id, protocolo_id, usuario_id, id) values ('<?xml version="1.0" encoding="UTF-8"?>
<planilha><nome>fulano</nome><telefone>2222222</telefone></planilha>
', '11', NULL, '10', NULL, '2', '23434', NULL, NULL, '11', '10', '18', '16', '198') foi abortada. Chame getNextException para ver a causa.
        at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2556)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1363)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:343)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2693)
        at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
        ... 17 more
Exception in thread "main" javax.persistence.RollbackException: Error while commiting the transaction
        at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:71)
        at dao.DAOGenerico.cadastrar(DAOGenerico.java:28)
        at teste.Principal.main(Principal.java:90)
Caused by: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
        at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2229)
        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.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
        ... 2 more
Caused by: java.sql.BatchUpdateException: Entrada em lote 0 insert into inventario.amostra (planilha, atrativo_id, data_coleta, expedicao_id, hora_coleta, id_amostra_coletor, id_amostra_projeto, latitude, longitude, metodo_id, projeto_id, protocolo_id, usuario_id, id) values ('<?xml version="1.0" encoding="UTF-8"?>
<planilha><nome>fulano</nome><telefone>2222222</telefone></planilha>
', '11', NULL, '10', NULL, '2', '23434', NULL, NULL, '11', '10', '18', '16', '198') foi abortada. Chame getNextException para ver a causa.
        at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2556)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1363)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:343)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2693)
        at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
        ... 17 more
Java Result: 1