Dans cet exemple, Google App Engine documentation fait du Customer
le parent du groupe d'entités de l'entité AccountInfo
. Ne pas AccountInfo
encapsuler Customer
plutôt que l'inverse? Normalement, je pense à une classe AccountInfo
comme incluant toutes les informations sur le Customer
.Dans cet exemple, Customer ou AccountInfo est-il correctement le parent du groupe d'entités?
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
@PersistenceCapable
public class AccountInfo {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
public void setKey(Key key) {
this.key = key;
}
}
// ...
KeyFactory.Builder keyBuilder = new KeyFactory
.Builder(Customer.class.getSimpleName(), "custid985135");
keyBuilder.addChild(AccountInfo.class.getSimpleName(), "acctidX142516");
Key key = keyBuilder.getKey();
AccountInfo acct = new AccountInfo();
acct.setKey(key);
pm.makePersistent(acct);
Exactement. Un client peut avoir des comptes d'homme (et évidemment "client" devrait être "entité" - comme dans l'entreprise, juridique ou personnel - avec un rôle client/fournisseur/employé attaché, parce que votre client peut également être votre fournisseur en même temps ', Sauf si vous codez le rôle dans accountinfo - mais une "entité" doit également avoir plusieurs comptes. – TomTom