]
Steve Ebersole updated HHH-7181:
--------------------------------
Fix Version/s: 5.0.0
The fix for this is already in place in the 5.0 codebase. I don't foresee this being
addressed in 4.x. But I want to leave this issue open so that we make certain to add
tests for this.
Mixing inheritance strategy in a entity hierarchy is not allowed
message for JOINED + SINGLE_TABLE
--------------------------------------------------------------------------------------------------
Key: HHH-7181
URL:
https://hibernate.onjira.com/browse/HHH-7181
Project: Hibernate ORM
Issue Type: New Feature
Components: metamodel
Affects Versions: 4.0.0.CR5
Environment: Hibernate 4.0.0.CR5 (annotations 4.0.0.CR2), HSQLDB 2.2.6
Reporter: Pim van Dongen
Priority: Minor
Fix For: 5.0.0
Attachments: JSTNoWarning.txt
Original Estimate: 3h
Remaining Estimate: 3h
When mixing inheritance strategies in a single entity hierarchy like the following:
A with @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
B extends A
C extends A with @Inheritance(strategy=InheritanceType.JOINED)
D extends C
E extends C
The following warning is given by Hibernate:
WARN: HHH000138: Mixing inheritance strategy in a entity hierarchy is not allowed,
ignoring sub strategy in: com.example.C
However, when I reverse this,
A with @Inheritance(strategy=InheritanceType.JOINED)
B extends A
C extends A with @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
D extends C
E extends C
Hibernate does NOT give me a warning. Looking at the database reveals that the tables A,
B, C, D and E are made (where only A, B and C should have been created).
"Feature" request: Please give a warning when encountering a mixed inheritance
strategy that is not supported by Hibernate, such as JOINED + SINGLE_TABLE.
I've attached some files (one file listing all teh codez) that I used when
encountering the issue, namely the classes A through E, and some testing code.
I did not provide a testcase because I don't know of an exact testcase that could be
used to reproduce the issue that it doesn't make the tables properly AND doesn't
display a warning.
I did provide a method which you can run through debug, during which you can examine the
database or logs to see that the tables haven't been made properly. Combine it with
console output, and there you go.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: