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
Attachments: JSTNoWarning.txt
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:
http://www.atlassian.com/software/jira