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

Steve Ebersole (JIRA) noreply at atlassian.com
Tue Dec 20 21:05:19 EST 2011


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-6911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Ebersole updated HHH-6911:
--------------------------------

    Description: 
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...


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


         Labels: jpa2  (was: )

> 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