仮説として、私が というドメインオブジェクトを持っているとしましょうPerson
。次のようになります。
public class Member {
private final String firstName;
private final String lastName;
private final String email;
private final String password;
public Member(String firstName, String lastName, String email, String password) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.password = password;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
public String getPassword() {
return password;
}
}
また、基本的な CRUD とその他の甘いメソッドを定義する MemberRepository インターフェースもあります。
ここで、Morphia を使用して、このドメイン オブジェクトを MongoDB インスタンスに保持するとします。MorphiaMemberRepository の実装を作成しましたが、ドメイン オブジェクトをできるだけ混乱させずに格納する方法がわかりません。
Morphia のユーザーなら誰でも、型の ID フィールドを作成してObjectId
で注釈を付ける必要があることを知っているでしょう@Id
。さらに、クラスに@Entity("members")
. 素敵なドメイン オブジェクトを Morphia/MongoDB 固有の注釈で混乱させたくはありません。
では...スタッカーの皆さん、この実装をできるだけクリーンに保つにはどうすればよいでしょうか?