[
https://issues.jboss.org/browse/WFLY-4278?page=com.atlassian.jira.plugin....
]
Scott Marlow commented on WFLY-4278:
------------------------------------
HHH-9263 looks like the Hibernate jira issue.
[~gbadner], I think that this wfly-4278 issue is likely a duplicate of hhh-9263. Is there
anything to be done as part of wfly-4278 or can I close it as a duplicate? Perhaps the
attached test case might be helpful for hhh-9263.
byte[] saved to Oracle BLOB can not be read back
------------------------------------------------
Key: WFLY-4278
URL:
https://issues.jboss.org/browse/WFLY-4278
Project: WildFly
Issue Type: Bug
Components: JPA / Hibernate
Affects Versions: 8.2.0.Final
Environment: Linux 64bit, Oracle JDK 7 or 8, WildFly 8.2.0.Final
Reporter: Lubos Pechac
Assignee: Scott Marlow
Attachments: wildfly-testcase.zip
Since upgrading to Wildfly (Hibernate 4.3.7) we are experiencing problems persisting
certain entities to an Oracle database.
The entity contains an attribute of type java.lang.Serializable and is mapped to an
Oracle BLOB column.
When the value of the Serializable attribute is a byte[] then this is not properly
serialized to the database.
The value stored does not correspond to the Java Object Serialization Specification,
instead the exact contents of the byte array are saved, without the usual header
information associated with Java Object Serialization.
When we try to read this back from the database into our entity we get the exception
shown below, so basically Hibernate cannot read what it wrote.
We have attached a test case to demonstrate this problem.
Caused by: org.hibernate.type.SerializationException: could not deserialize
at
org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:262)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.internal.util.SerializationHelper.deserialize(SerializationHelper.java:306)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.descriptor.java.SerializableTypeDescriptor.fromBytes(SerializableTypeDescriptor.java:155)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:130)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.descriptor.java.SerializableTypeDescriptor.wrap(SerializableTypeDescriptor.java:44)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.descriptor.sql.VarbinaryTypeDescriptor$2.doExtract(VarbinaryTypeDescriptor.java:71)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:64)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:267)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:263)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:253)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:338)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2969)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.process.internal.EntityReferenceInitializerImpl.loadFromResultSet(EntityReferenceInitializerImpl.java:324)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.process.internal.EntityReferenceInitializerImpl.hydrateEntityState(EntityReferenceInitializerImpl.java:251)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.readRow(AbstractRowReader.java:107)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.internal.EntityLoadQueryDetails$EntityLoaderRowReader.readRow(EntityLoadQueryDetails.java:255)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:129)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:138)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:102)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:186)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.loader.entity.plan.LegacyBatchingEntityLoaderBuilder$LegacyBatchingEntityLoader.load(LegacyBatchingEntityLoaderBuilder.java:130)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4126)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:503)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:468)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1070)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2551)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.internal.SessionImpl.get(SessionImpl.java:955)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1110)
[hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final]
... 183 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 63726561
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
[rt.jar:1.7.0_71]
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
[rt.jar:1.7.0_71]
at
org.hibernate.internal.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:328)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.internal.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:318)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at
org.hibernate.internal.util.SerializationHelper.doDeserialize(SerializationHelper.java:237)
[hibernate-core-4.3.7.Final.jar:4.3.7.Final]
... 214 more
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)