2015-08-18 4 views
0

Я работал над Spring Data JPA, это потрясающая библиотека, но прежде чем вы сможете использовать, вы должны написать свои искатели базы данных как сигнатуру метода.Использует ли Play Framework «Динамические поисковые системы»

Когда я смотрел на Grails, я нахожу концепцию я не должен написать метод подписи использовать искатель, он имеет Dynamic finders

Какие искатели (статические/динамические) делает Play Framework использовать?

ответ

2

Согласно определению динамических искателей грааля, вы можете сказать, что искатели игрового каркаса также определяются динамически, используя точечную нотацию с объектом поиска. Таким образом, запрос, такие как:

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 private, а затем методы записи в классе Person, у которых есть сигнатуры методов, определяющие запрос, такой как:

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

Я нахожу, что писать все точечные запросы в методах класса для большей поддержки, особенно если вы работаете с большей базой кода.

Вы можете прочитать немного больше об этом here

+0

+1, но я не могу принять ваш ответ, как я вижу некоторые вещи, как 'Book.findByLastName' отличаются от сочинительства некоторые искатель свойства, а затем использовать синтаксис как' Person.find.where.eq («name», «Fred»). FindList() ' –

+0

BTW, я начинаю смотреть на Slick http://slick.typesafe.com/doc/3.0.2/introduction.html#functional -реляционное сопоставление, и я считаю, что это выглядит многообещающе. –

+0

Play + Slick https://www.playframework.com/documentation/2.4.x/PlaySlick –

Смежные вопросы