gpt4 book ai didi

mongodb - 用mongodb玩转2.0 Morphia设计模式

转载 作者:可可西里 更新时间:2023-11-01 09:37:35 24 4
gpt4 key购买 nike

这是我第一次使用 MongoDb 和吗啡,总体而言,我对数据库还很陌生。我想知道我应该如何用吗啡组织我的代码。我正在研究使用 DAO,就像它在 morphia documentation 上所说的那样,但他们似乎这样做的方式是,我必须为我拥有的每个模型对象创建一个 DAO。我喜欢 play 的方法论,它基本上赋予 Model 对象自救的能力,但我对这里的幕后发生的事情只有模糊的概念,所以我不确定如何用 morphia 实现这一点,或者是否需要这样做所以。到目前为止,对于用户模型的骨架,我的代码看起来像这样。

@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 连接而存在。

最佳答案

Play 2.0 有一个与 MongoDb 一起工作的模块 我认为你应该试一试 https://github.com/vznet/play-mongo-jackson-mapper#readme

关于mongodb - 用mongodb玩转2.0 Morphia设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com