これは私の初めてのMongoDbとmorphiaを使用しており、私は一般的にデータベースにはかなり新しいです。私はどのように私のコードをmorphiaで整理すべきかと思います。私はmorphia documentationのようにDAO
を使用していましたが、彼らはそれをやっているようです、私は持っている各モデルオブジェクトのためにDAO
を作成する必要があります。私は基本的にModelオブジェクトに自分自身を保存する能力を与えるという遊びの方法論が好きでしたが、ここでは何が起こっているのかが漠然としているので、これをどのようにしてモルフィアで達成するか、そう。私が今までに持っているコードは、Userモデルの骨格のように見えます。Play 2.0 Morphiaデザインパターンwith mongodb
@Entity("user")
public class User extends BasicDAO<User, ObjectId>{
@Id ObjectId id;
public String firstName;
public String lastName;
public String email;
@Indexed public String username;
public String password;
public User(Mongo mongo, Morphia morphia){
super(mongo, morphia, "UserDAO");
}
public User(){
this(DBFactory.getMongo(), DBFactory.getMorphia());
}
public void save(){
ds.save(this);
}
public static User findByUsername(String uname){
return DBFactory.getDatastore().find(User.class, "username =", uname).get();
}
public static boolean authenticate(String uname, String pword){
User user = DBFactory.getDatastore().createQuery(User.class).filter("username", uname).filter("password", pword).get();
if(user == null)
return false;
else
return true;
}
}
それは現在StackOverflowException
を投げている、と私はなぜわからないが、これが達成しようとする合理的なパターンですか?
DBFactoryは基本的にシングルトンのmongodb接続を維持するためだけに存在します。
彼は明らかにJavaを使用して、彼のコードを整理するために探している、私はScalaの例は、任意のヘルプ – nightograph