openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marina Vatkina <Marina.Vatk...@Sun.COM>
Subject Re: Open JPA error-Could not locate metadata for the class using alias
Date Fri, 20 Apr 2007 20:04:49 GMT
tbee wrote:
> 
> 
> Marina Vatkina wrote:
> 
>>The spec defines the following limitations of a MappedSuperclass:
>>
>>2.1.9.2 Mapped Superclasses
>>...
>>A mapped superclass, unlike an entity, is not queryable and cannot be
>>passed as 
>>an argument to EntityManager or Query operations. A mapped superclass
>>cannot be 
>>the target of a persistent relationship.
>>
>>
> 
> 
> Correct. It is not. All relations refer to the inheriting classes. So even
> if the relation is defined in the @MappedSuperclass, the result of the
> relation are the actual @Entity.

How can you define relationships in the mapped superclass that are *specified* 
in terms of the entities?

> 
> I believe this approach is invaluable if you want to save coding time: my
> reverse engineering class generates a JPA MappedSuperclass based on the
> database and the actual Entity class only contains the JPA table annotation
> and all business logic.

You can always change the annotation from @MappedSuperclass to an @Entity and 
make the class abstract.

> 
> Hibernate also has some trouble with this concept, but Toplink works fine. I
> have an issue with lazy loading there, but the approach is perfect.

They might, but that would be beyond the spec and as such not a portable solution.

> 

Mime
View raw message