openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Serge Bogatyrev <>
Subject Re: TABLE_PER_CLASS does not work as described in JSR-220 (JPA-1.0)
Date Mon, 11 May 2009 18:03:42 GMT
This mixed strategy can be very usefull. But obviously there is 
uncompatibility with standards. I think that additional annotation can 
be used to change standard behaviour. So, at this example strict 
TABLE_PER_CLASS strategy should work without any additional annotations. 
And to get the mixed strategy we shoud add @Inheritance annotation to 
some class in hierarchy (e.g. AbsractFoo).

Pinaki Poddar:
> You are right. OpenJPA should use the inheritance strategy used at the root
> of the hierarchy throughout the derived tree. The extra strategy
> specification perhaps is resulting from the facility to support mixed
> strategy. Needs further investigation...
> hallmit wrote:
>> Thanks guys, I put @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
>> to AbstractFoo and now it works fine...I have also put
>> @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) to the first
>> concrete class of my class hierarchy otherwise the SINGLE_TABLE strategy
>> is used for the branch. 
>> I thought it was sufficient to annotate the root class with
>> TABLE_PER_CLASS and so all classes in the hierarchy would have the same
>> strategy...apparently not for OpenJPA...
>> JSR 220 (JPA-1.0) spec talk :
>> "The Inheritance annotation defines the inheritance strategy to be used
>> for an entity class hierarchy.
>> It is specified on the entity class that is the root of the entity class
>> hierarchy."
>> ...
>> In any case thank you very much for your help!
> -----
> Pinaki Poddar            
> OpenJPA PMC Member/Committer
> JPA Expert Group Member

View raw message