[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1039) WrongClassException when scrolling through EntityMode.DOM4J and loading identical objects from different fields

Karina Hesse (JIRA) noreply at atlassian.com
Thu Jan 15 05:24:39 EST 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32129#action_32129 ] 

Karina Hesse commented on HHH-1039:
-----------------------------------

If you anytimes get the WrongClassException use the embed-xml="true"/"false" option in the mapping files.

> WrongClassException when scrolling through EntityMode.DOM4J and loading identical objects from different fields
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-1039
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1039
>             Project: Hibernate Core
>          Issue Type: Bug
>    Affects Versions: 3.0.5
>         Environment: Windows XP, JDK 1.4.2_8, Hibernate 3.0.5, Oracle 9.2. Replicated on Windows XP, JDK 1.5.0_2, Hibernate 3.0.5, MySQL
>            Reporter: Roland Groen
>             Fix For: entity-modes
>
>         Attachments: HbmXmlTest.java, Loader.java, Test.hbm.xml
>
>
> When working with XML representations of entities, an unexpected org.hibernate.WrongClassException is thrown when working with identical embedded objects (embed-xml="true") which have different field names.
> org.hibernate.WrongClassException seems to be thrown when:
> 1) Running in EntityMode.DOM4J
> 2) Scrolling through a result set using session.scroll()
> 3) Embedding objects that are:
>  a) Referred by least by one of the objects on which the query is selecting primarily (parent object) and,
>  b) that field is in FetchMode.JOIN.
>  c) Referred by one object which is embedded (embed-xml="true") and uses a different field name to refer to the object than the parent object.
> I would like to apologise for the large test case. The bug is quite hard to reproduce, I tried to minimise the test, but this seems the smallest and most simple case I can find.
> The stack trace is:
> Caused by: org.hibernate.WrongClassException: Object with id: 1 was not of the specified subclass: Customer (loaded object was of wrong class)
>     at org.hibernate.loader.Loader.instanceAlreadyLoaded(Loader.java:890)
>     at org.hibernate.loader.Loader.getRow(Loader.java:846)
>     at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:305)
>     at org.hibernate.loader.Loader.loadSingleRow(Loader.java:238)
>     at org.hibernate.impl.ScrollableResultsImpl.prepareCurrentRow(ScrollableResultsImpl.java:477)
>     at org.hibernate.impl.ScrollableResultsImpl.next(ScrollableResultsImpl.java:106)
>     at HbxXmlTest.main(HbxXmlTest.java:90)
> The included files are:
> Test.hbm.xml : the hbm file to create the classes
> HbmXmlTest.java : the the java source to reproduce the issue.
> Greetings,
> Roland.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list