如何在Play MVC中使用JPA。我尝试了很多变种。但所有不成功的。
public class Application extends Controller {
public static void book() {
EntityManager em = JPA.em();
List<Book> bookList = em.createNativeQuery("select * from book").getResultList();
render( bookList );
}
public static void index() {
render( );
}
}
我得到这样的错误:
发生JPA错误(JPA上下文未初始化.JPA实体管理器在应用程序中找到一个或多个使用@ javax.persistence.Entity注释注释的类时自动启动。):
第二种变体不起作用:
@NamedQuery(name =“findFoo”,query =“从Foo f中选择f,其中f.state in:stateInList”)
final Query query = this.entityManager.createNamedQuery(“findFoo”);
如何使用NamedQuery?在哪里放置NamedQuery ??
答案 0 :(得分:0)
您的命名查询是正确的,您可以将其写在实体
之上@Entity
@Table(name = "Foo")
@NamedQuery(
{
@NamedQuery(name = "findFoo", query = "select f from Foo f where f.state in :stateInList")
)}
public class Foo
{
....
}