如何在play Framework中运行JPA查询

Ara*_*asu 6 hibernate jpa playframework

我是Play的新手,也是休眠和JPA的新手.我正在使用MySql DB和JPA

import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;

import play.db.jpa.JPA;
import play.mvc.Controller;
import play.db.jpa.*;
Run Code Online (Sandbox Code Playgroud)

我有这个查询

List languages = FormLanguages.findAll();
render(languages);
Run Code Online (Sandbox Code Playgroud)

哪个运行正常,但我想基于id选择,像这样

"select*from FormLanguages,其中id> 10"

当我这样使用

Query query = JPA.em().createQuery("select * from FormLanguages");
List<FormLanguages> articles = query.getResultList();
render(articles);
Run Code Online (Sandbox Code Playgroud)

这给了我IllegalArgumentException错误

当这样使用时

List queryList = FormLanguages.em().createQuery("select * from FormLanguages").getResultList();
render(queryList);
Run Code Online (Sandbox Code Playgroud)

给出同样的错误请帮我看看如何编写Query

还建议我一些网站

Per*_*ega 4

在你的场景中:

List languages = FormLanguages.find("id > ?",10).fetch();
Run Code Online (Sandbox Code Playgroud)

应该管用。

这个这个可以帮助您学习 JPA 查询语言。一旦您熟悉了它们,find您就可以启动这些查询。或者使用命名查询