[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6911) Write DiscriminatorValue to DiscriminatorColumn when combined with InheritanceType#JOINED

Karsten Wutzke (JIRA) noreply at atlassian.com
Thu Jan 5 17:17:10 EST 2012


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

Karsten Wutzke commented on HHH-6911:
-------------------------------------

I think so, too. The question is rather *when* in the future... while it's rather easy to do and somewhat isolated it usually takes Hibernate months. IMO it's not obvious that the JOINED doesn't need discriminators, but when using them customers think Hibernate is inferior or you made a bad recommendation.

> Write DiscriminatorValue to DiscriminatorColumn when combined with InheritanceType#JOINED
> -----------------------------------------------------------------------------------------
>
>                 Key: HHH-6911
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6911
>             Project: Hibernate Core
>          Issue Type: Improvement
>          Components: annotations, metamodel
>            Reporter: Steve Ebersole
>            Priority: Minor
>              Labels: jpa2
>
> The JPA spec states that {{DiscriminatorColumn}} can be used in conjunction with JOINED inheritence.  The only section that seems to deal with this combination is _11.1.10 DiscriminatorColumn Annotation_ where it says
> {quote}
> For the SINGLE_TABLE mapping strategy, and typically also for the JOINED strategy, the persistence
> provider will use a type discriminator column. The DiscriminatorColumn annotation is used to
> define the discriminator column for the SINGLE_TABLE and JOINED inheritance mapping strategies.
> {quote}
> Apparently this is meant to imply that even if providers do not need/use the discriminator for concrete class resolution (reading) they are still expected to write it out to the database.  Dunno, thats just what we have been told :)
> Anyway, like I said, Hibernate itself does not need the discriminator column/value to interpret the concrete classes.  However, in the interest of portability we certainly *could* write it out.  
> Longer term we could *possibly* even use the DiscriminatorColumn/DiscriminatorValue (if present) instead of the SQL CASE statement thing we do now.
> See HHH-4358 for the origins of this request...

--
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