Play Framework - найти объект с «или» в запросе - PullRequest
1 голос
/ 29 мая 2011

Возможно использовать «И» при запросе объектов в Entity, например

Post.find("byTitleLikeAndAuthor", "%hello%", connectedUser).fetch();

, но возможно ли использовать «И» при запросе, например,

Post.find("byNameOrEmail", name, email).fetch(); 

Спасибо

Исправлено !!

Использовать Post.find(" name = ? or email ?", name, email).fetch();

При использовании «где» в запросе произойдет сбой, сказав"неожиданный токен"

Ответы [ 2 ]

2 голосов
/ 29 мая 2011

Действительно возможно использовать предложения «И» при построении объектов, но я не знаю возможности в упрощенном запросе использовать «И».

Однако игру можно использовать по-разному.Вместо записи:

Post.find("byNameOrEmail", name, email).fetch(); 

Вы можете написать:

Post.find("name = ? or email = ?", name, email).fetch();

с использованием синтаксиса JPQL.

0 голосов
/ 29 мая 2011

Невозможно использовать упрощенный запрос с или.Чтобы включить его, вы должны изменить реализацию findByToJPQL в классе play.db.jpa.JPQL.Написал тест и доработал документацию и создал патч.Как бы то ни было, вы можете использовать JPQL .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...