From: Roland G. (JIRA) <no...@at...> - 2005-10-12 16:59:19
|
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: Hibernate3 Type: Bug 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 Attachments: HbmXmlTest.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 |