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.