如何在play Framework中运行JPA查询

时间:2011-07-27 09:17:41

标签: 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.*;

我有这个查询

List languages = FormLanguages.findAll();
render(languages);

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

“从FormLanguages中选择*,其中id> 10”

当我像这样使用时

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

这给了我IllegalArgumentException错误

当像这样使用时

List queryList = FormLanguages.em().createQuery("select * from FormLanguages").getResultList();
render(queryList);

给出了同样的错误,请帮我看看如何编写查询

还建议我一些网站

1 个答案:

答案 0 :(得分:4)

在您的方案中:

List languages = FormLanguages.find("id > ?",10).fetch();

应该有效。

This one以及this可以帮助您学习JPA查询语言。熟悉它们后,使用find即可启动这些查询。或者使用named queries