0

我在Spring Data JPA工作,它是一个很棒的库,但是你应该在使用之前将你的数据库查找器写为方法签名。

当我查看 Grails 时,我发现我不必编写方法签名来使用查找器的概念,它具有动态查找器

Play Framework 使用什么样的查找器(静态/动态)?

4

1 回答 1

2

根据 grails 对动态查找器的定义,您可以说游戏框架查找器也是通过对查找器对象使用点表示法以动态方式定义的。所以一个查询,例如:

SELECT * FROM PERSON WHERE name = 'Fred'

会像这样创建

public class Person extends Model {
    public Integer id;
    public String name;

    public static Finder<Integer,Person> find = new Finder<Integer,Person>(
                    Integer.class, Person.class); 
}

你会在任何地方写你的点符号查询

List<Person> people = Person.find.where.eq("name", "Fred").findList();

或者,您可以将 Finder 对象设为私有,然后在 Person 类中编写方法,这些方法具有定义查询的方法签名,例如:

public static List<Person> findByName(String name) {
    return find.where().eq("name", name).findList();
}

我发现在类的方法中编写所有点符号查询更易于维护,尤其是在您使用更大的代码库时。

你可以在这里阅读更多关于它的信息

于 2015-08-18T14:34:58.357 回答