[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-6911?page=c...
]
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