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