在JAX-RS REST服务应用程序中包含JPA项目
问题描述:
我写了一个封装了我所有实体的JPA项目。由于在REST-Service项目中也需要这些实体,因此我将JPA-Project导出为* .jar并将其包含在REST项目中(没有JPA-Facet)。在JAX-RS REST服务应用程序中包含JPA项目
因此,一切都可以部署在服务器上,我可以从前端到达REST服务,但只要EntityManager应该在类中注入,什么都不会发生。 这会导致NullPointerExceptions,因为entityManager不存在。
要注入的类别标记为@Stateless
,而entityManager包含@PersistenceContext
注释。
所以问题是:注入在嵌套项目中工作还是必须手动实例化entityManager?
在此先感谢!
另外,我使用Glassfish的v 3.1.2和JPA 2.0
答
要回答我的问题。 在netbeans的帮助下,我收集了一些信息,这些信息让我轻易地改变了我的项目结构。
这是我做了什么:
- 给REST项目的JPA小面
- 存储在该项目在PU链接到包含罐子
- persistence.xml中实体
这样我所要做的就是将注入的entityManager传递给entity-project,然后完成!
如果您使用NetBeans 6.9+,则会有一个向导执行您正在查找的任务,包括实体类,泽西注释,无状态DAO,注入EntityManager。这是值得下载这个IDE的努力。当你理解了逻辑后,你可以继续使用你的首选IDE – perissf 2012-04-11 12:25:10
现在我正在使用eclipse indigo,但是我会立即下载Netbeans并尝试它。 – Kai 2012-04-11 12:28:14
本教程将帮助您:http://netbeans.org/kb/docs/websvc/rest.html – perissf 2012-04-11 12:34:30