2011-07-27 57 views
6

我是Play新手,也是休眠和JPA。 我使用MySQL數據庫和JPA 我已經包含了如何在播放框架中運行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來選擇,這樣的事情

「select * from FormLanguages where 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); 

這給了同樣的錯誤使用,請幫助我如何寫查詢

還建議我一些網站

回答

4

在您的場景中:

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

應該工作。

This one還有this可能會幫助您瞭解JPA查詢語言。一旦你熟悉它們,使用find你可以啓動這些查詢。或使用named queries

+0

謝謝你佩雷它工作 – Arasu

+0

我看到你的鏈接是有用的,但你可以建議我鏈接Play Framework +休眠+ JPA的例子 – Arasu

+1

該文件有一個信息,請檢查此(http://www.playframework.org/文檔/ 1.2.2 /模型)和這個(http://www.playframework.org/documentation/1.2.2/jpa) –