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(AbstractClassMetaData.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(MetaDataManager.java:
2311)
        at
org.datanucleus.metadata.MetaDataManager.populateFileMetaData(MetaDataManager.java:
2148)
        at
org.datanucleus.metadata.MetaDataManager.initialiseFileMetaDataForUse(MetaDataManager.java:
864)
        at
org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java:
433)
        at
org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:
743)
        at
org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:
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(DelegatingMethodAccessorImpl.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" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to