Google App Engine JDO Relationships
Schema : 1 user has 1 GeneralData and GeneralData cannot exist without user
@PersistenceCapable
public class User implements Serializable{
private static final long serialVersionUID = 1L;
@PrimaryKey
@Persistent
private String key;
@Persistent(defaultFetchGroup = "true")
@Element(dependent = "true")
private GeneralData data;
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
pub开发者_如何学Golic void setData(GeneralData data) {
this.data = data;
}
public GeneralData getData() {
return data;
}
}
@PersistenceCapable
public class GeneralData implements Serializable{
private static final long serialVersionUID = 1L;
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long key;
@Persistent
private String name;
@Persistent(mappedBy = "data")
private User user;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setKey(Long key) {
this.key = key;
}
public Long getKey() {
return key;
}
public void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
}
I have 2 questions,Did I do correctly?
1) (Schema between User and GeneralData) 2) (To add instance to the google datastorage) PersistenceManager pm = PMF.get().getPersistenceManager();
User onUser = new User();
GeneralData gd = new GeneralData();
gd.setName(usrname);
onUser.setKey(usrname);
onUser.setData(gd);
try {
pm.makePersistent(onUser);
} finally {
pm.close();
}
精彩评论