正しい方法でオブジェクト化するために@Idを使用するかどうかはわかりません。現在、@IdフィールドとしてeMail-Addressを使用しています。メールフィールドはサーバー側でのみ設定されます(OAuthService.getCurrentUser.getEmail)
最初の質問:これは良い考えですか?
たとえば、親としてRegistrationTOを持つItem-classを作成する場合、Item-classの@Idフィールドとしてemail-addressを使用するのは理にかなっています。または、Item-classに独自の自動生成されたidと関係を指定するためのキーの親?
Objectify-チュートリアルでは@Parentを避けることをお勧めします-したがって、ここでも必要ではないと思います。私は正しいですよ?
ここに私のRegistrationTO:
public class RegistrationTO implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull
@Size(min = 5, max = 20)
private String firstname;
@NotNull
@Size(min = 5, max = 20)
private String name;
@NotNull
@Size(min = 5, max = 20)
private String country;
@Id
@NotNull
@Size(min = 5, max = 20)
@Pattern(regexp = "\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\b")
private String email;
public RegistrationTO() {
}
public RegistrationTO(final String firstname, final String name, final String company) {
this.firstname = firstname;
this.name = name;
this.country = country;
email = "will be set on server (Oauth)";
}
public String getFirstname() {
return firstname;
}
public String getName() {
return name;
}
public String getCountry() {
return country;
}
public String getEmail() {
return email;
}
public void setEmail(final String email) {
this.email = email;
}
}
アイテムクラスのサンプル:
public class Item implements Serializable {
private static final long serialVersionUID = 1L;
@Id
Long id
//or
//@Id
//String email
Key<RegistrationTO> parent;
String itemno;
}
前もって感謝します!