[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-7035) Wrong NClob cast to Blob
stephan (JIRA)
noreply at atlassian.com
Wed Feb 8 08:07:13 EST 2012
[ https://hibernate.onjira.com/browse/HHH-7035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45406#comment-45406 ]
stephan commented on HHH-7035:
------------------------------
http://stackoverflow.com/questions/9192350/hibernate-nclob-property
> Wrong NClob cast to Blob
> ------------------------
>
> Key: HHH-7035
> URL: https://hibernate.onjira.com/browse/HHH-7035
> Project: Hibernate ORM
> Issue Type: Bug
> Components: entity-manager
> Affects Versions: 3.6.8
> Environment: jpa 2
> jdk 6
> ojdbc6-11.2.0.2.0
> Reporter: stephan
> Labels: dialect, hibernate, jpa2, oracle, postgresql
>
> I read an entity from an Oracle 10gR2 database and the I try to write it to a Postgresql 8.3.14 dataabse.
> Here the entity :
> public class MyEntity {
> @javax.persistence.Lob
> java.sql.NClob prop;
> public void setProp(java.sql.NClob c) {
> prop=c;
> }
> public java.sql.NClob getProp() {
> return prop;
> }
> }
> When it's time to flush it to database, I get this exception :
> java.lang.ClassCastException: oracle.sql.NCLOB cannot be cast to java.sql.Blob
> at org.hibernate.type.BlobType.getReplacement(BlobType.java:37)
> at org.hibernate.type.AbstractStandardBasicType.replace(AbstractStandardBasicType.java:359)
> at org.hibernate.type.TypeHelper.replace(TypeHelper.java:212)
> at org.hibernate.event.def.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:600)
> at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:337)
> at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303)
> at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:464)
> at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:255)
> at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
> at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:867)
> at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:851)
> at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:855)
> at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:851)
> Hibernate should try to cast to a java.sql.Clob because oracle.sql.NClob implements java.sql.Clob
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list