[appengine-java] Re: composit primary key issue

2010-05-12 Thread Timofey Koolin
You can combine two fields in one string-field and use it as String PK

On 11 май, 14:14, aptest1 actiprocess apte...@gmail.com wrote:
 We are unable to use two fileds as the compisit primary keys in google
 datastore, its throwing follwing exception if we make two fields as
 primary key fileds.please help us to resolve this iusse

 our company class has two primary keys as below, we are using
 companyId,docId as primary keys
 *** 
 

 @PersistenceCapable(identityType=IdentityType.DATASTORE)
 public class Company{
                   �...@primarykey
         @Persistent(valueStrategy = IdGeneratorStrategy.SEQUENCE)
         private Long companyId;
         @PrimaryKey
                     String docId

 }

 if we start the server we are getting the following Exception :
 *** 
 *s
 May 11, 2010 10:07:31 AM
 org.datanucleus.metadata.AbstractClassMetaData determineObjectIdClass
 SEVERE: Class com.atp.smartstore.DB.config.User has application-
 identity and no objectid-class specified yet has 2 primary key fields.
 Unable to use SingleFieldIdentity.
 Class com.atp.smartstore.DB.config.User has application-identity and
 no objectid-class specified yet has 2 primary key fields. Unable to
 use SingleFieldIdentity.
 May 11, 2010 10:07:31 AM org.datanucleus.enhancer.DataNucleusEnhancer
 main
 SEVERE: DataNucleus Enhancer completed with an error. Please review
 the enhancer log for full details. Some classes may have been enhanced
 but some caused errors
 Class com.atp.smartstore.DB.config.User has application-identity and
 no objectid-class specified yet has 2 primary key fields. Unable to
 use SingleFieldIdentity.
 org.datanucleus.metadata.InvalidMetaDataException: Class
 com.atp.smartstore.DB.config.User has application-identity and no
 objectid-class specified yet has 2 primary key fields. Unable to use
 SingleFieldIdentity.
         at
 org.datanucleus.metadata.AbstractClassMetaData.determineObjectIdClass(Abstr 
 actClassMetaData.java:
 1032)
         at org.datanucleus.metadata.ClassMetaData.populate(ClassMetaData.java:
 205)
         at org.datanucleus.metadata.MetaDataManager
 $1.run(MetaDataManager.java:2317)
         at java.security.AccessController.doPrivileged(Native Method)
         at
 org.datanucleus.metadata.MetaDataManager.populateAbstractClassMetaData(Meta 
 DataManager.java:
 2311)
         at
 org.datanucleus.metadata.MetaDataManager.populateFileMetaData(MetaDataManag 
 er.java:
 2148)
         at
 org.datanucleus.metadata.MetaDataManager.initialiseFileMetaDataForUse(MetaD 
 ataManager.java:
 864)
         at
 org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:
 433)
         at
 org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNu 
 cleusEnhancer.java:
 743)
         at
 org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.ja 
 va:
 545)
         at
 org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:
 1252)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
 39)
         at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp 
 l.java:
 25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:
 57)
         at com.google.appengine.tools.enhancer.Enhance.init(Enhance.java:
 60)
         at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41)

 --
 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 
 athttp://groups.google.com/group/google-appengine-java?hl=en.

-- 
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.



[appengine-java] Re: composit primary key issue

2010-05-12 Thread aptest1 actiprocess
Hi datanucleus,

Built-in object id classes not working in Google data store,we worked
as example given in the fallowing url

http://www.datanucleus.org/products/accessplatform/jdo/primary_key.html.

but issue not resolved.

Thanks




On May 11, 10:02 pm, datanucleus andy_jeffer...@yahoo.com wrote:
  Class com.atp.smartstore.DB.config.User has application-identity and no 
  objectid-class specified yet has 2 primary
  key fields. Unable to use SingleFieldIdentity.

 Message seems clear enough to me. You want to have a composite PK yet
 you haven't provided an object identity class; so provide one. JDO
 only provides built-in object id classes when you have a single field
 as PK. The DataNucleus docs define how to define your own.

 --
 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 
 athttp://groups.google.com/group/google-appengine-java?hl=en.

-- 
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.



[appengine-java] Re: composit primary key issue

2010-05-12 Thread datanucleus
 Built-in object id classes not working in Google data store,

Well they are working fine actually ... but as I already said you're
using more than 1 field and THERE IS NO BUILTIN object id for
composite id.

 we worked as example given in the fallowing url
 http://www.datanucleus.org/products/accessplatform/jdo/primary_key.html.
 but issue not resolved.

Works for me. Works for the JDO TCK. Saying something doesn't work
would probably require a comment of what doesn't work otherwise its
not of much help

-- 
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.



[appengine-java] Re: composit primary key issue

2010-05-11 Thread datanucleus
 Class com.atp.smartstore.DB.config.User has application-identity and no 
 objectid-class specified yet has 2 primary
 key fields. Unable to use SingleFieldIdentity.

Message seems clear enough to me. You want to have a composite PK yet
you haven't provided an object identity class; so provide one. JDO
only provides built-in object id classes when you have a single field
as PK. The DataNucleus docs define how to define your own.

-- 
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.