Jboss Seam3 Weld Jpa在J2SE中使用之四[JPA]

来源:互联网 发布:c 定义数组 编辑:程序博客网 时间:2024/05/23 10:23

转帖请标明此处地址:http://blog.csdn.net/FENGUFO/category/463623.aspx

 

前面配置完成以后,使用JPA需要在自己的类中注入

 

 

 

完成注入需要添加一个类,类名称随便,但unitName="??" ??需要按照自己的配置文件修改,对应即可。

 

 

 

 

@Inject EntityManager em;

 

注入的em目前使用还是有问题,我代码里报错。看来在J2SE中使用EJB环境下个东西还真是麻烦。

 

原因是集成Seam3的事务出了问题,seam-persistence.jar 中的集成事务[EntityTransaction]会同步容器事务(JTA  synchronizations),可前面我没有使用JTA事务,默认TOMCAT也不支持JTA,怎么办?

 

只能取消同步了哈哈,用TOMCAT集成JTA事务插件也行,网上有教程,修改前面的JPA配置应该可以,我没有测试过。我还是选择了修改去掉同步代码,其实就几句。修改后

 

org.jboss.seam.transaction 文件。直接在自己的SRC目录添加即可,不能改包名称,可覆盖SEAM3中的JAR文件

 

 

 

到此就可以正常使用JPA了,事务是JPA的手工事务,不过不需要在自己的代码中手工管理事务,交给SEAM3就行了,添加@Transactional标记即可