Read/write DiscriminatorValue from/to DiscriminatorColumn when combined with InheritanceType#JOINED

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

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.

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 for the origins of this request...

Environment

None

Status

Assignee

Steve Ebersole

Reporter

Steve Ebersole

Fix versions

Labels

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Priority

Minor
Configure