我是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);
给出了同样的错误,请帮我看看如何编写查询
还建议我一些网站
答案 0 :(得分:4)
在您的方案中:
List languages = FormLanguages.find("id > ?",10).fetch();
应该有效。
This one以及this可以帮助您学习JPA查询语言。熟悉它们后,使用find
即可启动这些查询。或者使用named queries。