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: | Hibernate | Assignee: | Gail Badner <gbadner> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | hsvabek | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 6.4.0 | CC: | 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 | |||
Verified with EAP 6.4.5.CP.CR1. Retroactively bulk-closing issues from released EAP 6.4 cumulative patches. Retroactively bulk-closing issues from released EAP 6.4 cumulative patches. |
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