Go there... 
http://code.google.com/intl/fr-FR/appengine/docs/java/datastore/relationship
s.html#Polymorphic_Relationships

... And you'll read this :
" Even though the JDO specification includes support for polymorphic
relationships, polymorhpic relationships are not yet supported in the App
Engine JDO implementation. This is a limitation we hope to remove in future
releases of the product. If you need to refer to multiple types of objects
via a common base class we recommend following the same strategy we
recommend for implementing unowned relationships: store a Key reference."

Bye.

On 08/09/10 02:14, "lisandrodc" <lisandr...@gmail.com> wrote:

> Thanks Cyrille, but..
> Might someone confirm to me authentically that really inheritance is
> not supported?
> If it is like that, a serious enough failing....
> On the part of the documentation of google it does not confirm it but
> he
> does not deny it either...
> The error is "error.
> org.datanucleus.exceptions.NoPersistenceInformationException: The
> class "com.onwebconsulting.inventory.model.Part" is required to be
> persistable yet no Meta-Data/Annotations can be found for this class.
> Please check that the Meta-Data/annotations is defined in a valid
> file"
> 
> Regards
> Lisandro
> On 7 sep, 09:48, Cyrille Vincey <crll...@gmail.com> wrote:
>> I have read somewhere in the appengine doc that class inheritance is not
>> really supported by JDO yet...
>> 
>> On 07/09/10 00:39, "lisandrodc" <lisandr...@gmail.com> wrote:
>> 
>>> Hi all,
>>>   I've used hibernate for a while, and I'm having a bit of trouble
>>> switching to JDO.  I have several entities that all entities will
>>> share.  Rather than a parent table, I'd prefer these columns be
>>> embedded directly in each entity.  As such, I've defined my abstract
>>> entity and child entity in the classes below.  However, whenever I
>>> try
>>> to run my unit tests or the jetty environment, I always receive the
>>> following error.
>>> org.datanucleus.exceptions.NoPersistenceInformationException: The
>>> class "com.onwebconsulting.inventory.model.Part" is required to be
>>> persistable yet no Meta-Data/Annotations can be found for this class.
>>> Please check that the Meta-Data/annotations is defined in a valid
>>> file
>>> location.]]
>>> According to my Eclipse console I have 1 class that has been
>>> Enhanced.  Any ideas what I'm doing wrong?
>>> DataNucleus Enhancer completed with success for 1 classes. Timings :
>>> input=268 ms, enhance=51 ms, total=319 ms. Consult the log for full
>>> details
>>> @Inheritance(strategy = InheritanceStrategy.NEW_TABLE)
>>> public class Part extends Auditable{
>>>         @Persistent
>>>         private String name;
>>>         @Persistent
>>>         private String description;
>>>         @Persistent
>>>         private String partNumber;
>>>         @Persistent
>>>         private long quantity;
>>>         @Persistent
>>>         private String manuacturersPartNumber;
>>>         @Persistent
>>>         private String manufacturerName;
>>>         @Persistent
>>>         private String suppliersPartNumber;
>>>         @Persistent
>>>         private String supplierName;
>>>         @Persistent
>>>         private String supplierWebsite;
>>>         @Persistent
>>>         private float salePrice;
>>>         @Persistent
>>>         private float supplierPrice;
>>> ... Getters and Setters
>>> }
>>> @PersistenceCapable(identityType = IdentityType.APPLICATION)
>>> @Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
>>> public abstract class Auditable {
>>>         @PrimaryKey
>>>         @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
>>>         private Key id;
>>>         @Persistent
>>>         private Date createDate;
>>>         @Persistent
>>>         private Date updatedDate;
>>>         @Persistent
>>>         private long version;
>>>         public Key getId() {
>>>                 return id;
>>>         }
>>>         public Date getCreateDate() {
>>>                 return createDate;
>>>         }
>>>         public Date getUpdatedDate() {
>>>                 return updatedDate;
>>>         }
>>>         public long getVersion(){
>>>                 return version;
>>>         }
>> 
>> 


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to