2012-08-04 96 views
2

我如何从一个表比ID IM之外的另一个独特的列中选择一个寻找替代查询语言2

 String fbid=<some facebookId> 
    User user = User.findBy("facebookId",fbid).first(); 

我使用Java + Ebean而不是阶!

感谢

回答

2
User user = User.find.where().eq("facebookId", fbid).findUnique(); 

当然你也可以通过添加一个方法到您的User模型中创建一个 '快捷方式':

public static User findByFacebookId(String fbid){ 
    return find.where().eq("facebookId", fbid).findUnique(); 
} 

,并在控制器使用它:

User user = User.findByFacebookId(fbid); 

这是非常好的解决方案,因为您可以保持控制器的代码清洁并使用自定义finders尽可能复杂的情况下需要。

+0

谢谢,我最终做了同样的事情,我正在寻找一个捷径。 – nightograph 2012-08-04 20:57:43

+0

@nightograph:检查我编辑的“快捷方式”示例的答案。 – biesior 2012-08-04 21:12:34