Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1271799

Summary: [GSS] (6.4.z) HHH-5255, HHH-7573 - ClassCastException on lazy properties when merging or flushing with PreUpdate callback
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Stephen Fikes <sfikes>
Component: HibernateAssignee: Gail Badner <gbadner>
Status: CLOSED CURRENTRELEASE QA Contact: hsvabek
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: bmaxwell, gbadner, jawilson, jmartisk, msimka, rsvoboda, smarlow
Target Milestone: CR1   
Target Release: EAP 6.4.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Attempts to merge (into an empty session) an entity with a lazily fetched @Lob property fail with "java.lang.ClassCastException: org.hibernate.bytecode.instrumentation.spi.LazyPropertyInitializer$1 cannot be cast to [B"
Story Points: ---
Clone Of:
: 1273573 (view as bug list) Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1235745, 1259122    

Description Stephen Fikes 2015-10-14 18:37:54 UTC
Description of problem:
java.lang.ClassCastException: org.hibernate.bytecode.instrumentation.spi.LazyPropertyInitializer$1 cannot be cast to [B
	at org.hibernate.type.descriptor.java.PrimitiveByteArrayTypeDescriptor.areEqual(PrimitiveByteArrayTypeDescriptor.java:42)
	at org.hibernate.type.AbstractStandardBasicType.isEqual(AbstractStandardBasicType.java:209)
	at org.hibernate.type.AbstractStandardBasicType.getReplacement(AbstractStandardBasicType.java:102)
	at org.hibernate.type.AbstractStandardBasicType.replace(AbstractStandardBasicType.java:353)
	at org.hibernate.type.TypeHelper.replace(TypeHelper.java:177)
	at org.hibernate.event.internal.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:401)
	at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:338)
	at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:180)
	at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:86)
	at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:833)
	at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:817)
	at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:821)
	at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:889)
	at org.jboss.as.jpa.container.AbstractEntityManager.merge(AbstractEntityManager.java:548)


Version-Release number of selected component (if applicable):


How reproducible:
Consistently

Steps to Reproduce:
1. Load an entity that has
    @Lob
    @Column....
    @Basic(fetch = FetchType.LAZY)
2. Clear the session cache
3. Merge the entity

Actual results:
java.lang.ClassCastException: org.hibernate.bytecode.instrumentation.spi.LazyPropertyInitializer$1 cannot be cast to [B

Expected results:
Merge should work

Additional info:
https://hibernate.atlassian.net/browse/HHH-5255

Comment 8 hsvabek 2015-11-06 11:01:00 UTC
Verified with EAP 6.4.5.CP.CR1.

Comment 9 Petr Penicka 2017-01-17 11:46:42 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.

Comment 10 Petr Penicka 2017-01-17 11:46:43 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.