[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1460) Inconsistent behavior when using Session.get() with multiple subclasses
Tim Lark (JIRA)
noreply at atlassian.com
Thu Oct 20 09:32:20 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44102#comment-44102 ]
Tim Lark commented on HHH-1460:
-------------------------------
Was this issue really fixed (i.e. a code change made)? I don't see any commit entries.
> Inconsistent behavior when using Session.get() with multiple subclasses
> -----------------------------------------------------------------------
>
> Key: HHH-1460
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1460
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.1.2
> Environment: Hibernate 3.1.2
> HSQLDB 1.8.0.2
> Java 1.5.0_05-b05
> Reporter: Seth Fitzsimmons
> Assignee: Steve Ebersole
> Fix For: 3.2.1
>
> Attachments: ClassCastException.zip
>
>
> Session.get() loads a cached instance of an alternate subclass with the same PK after that subclass has been loaded directly (throwing a ClassCastException where null was expected). When attempting to load it without prior loading, null is returned, as expected.
> Client and Partner both extend person and have discriminator values of 1 and 2, respectively. There is a single entry in the database (a Client) with a PK of 0.
> This should be null:
> Partner partner = (Partner) getSession().get(Partner.class, 0);
> assertNull(partner);
> It is. However, if the Client is loaded first, Hibernate will attempt to return a Partner (as a Client) where it should not exist:
> Client client = (Client) getSession().get(Client.class, 0);
> assertNotNull(client);
>
> // this should be null, not return a Client object (resulting in a ClassCastException)
> Partner partner = (Partner) getSession().get(Partner.class, 0);
> assertNull(partner);
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list