`
bawking
  • 浏览: 34279 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ejb3:Unable to build EntityManagerFactory

阅读更多
开发环境为:
    jboss-5.1.0.GA
    Microsoft SQL Server
    sqljdbc4.jar

jndi.Properties:
    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    java.naming.provider.url=192.168.1.131:1099,192.168.1.170:1099
    java.naming.factory.url.pkgs=org.jnp.interfaces

persistence.xml:
    <persistence-unit name="octawave" transaction-type="RESOURCE_LOCAL">
<jta-data-source>java:/sqlserverDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.jdbc.batch_size" value="10" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
</properties>
    </persistence-unit>

ReturnOrderOperatorBean:
@Stateful
@Remote(RtnOrderOperator.class)
public class ReturnOrderOperatorBean implements RtnOrderOperator,
java.io.Serializable {
        private EntityManager getEntityManager() {
return EntityManagerHelper.getEntityManager();
}

        @Remove
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void persist(com.octawave.oms.trade.entity.ReqOrderAction rtnoo) {
getEntityManager().persist(rtnoo);
}

因为EntityManagerFactory一直为空,所以会报Unable to build EntityManagerFactory
从而导致EntityManager为空,原因是persistence  unit受Java  EE事务(取值JTA)管理并与之集成 此属性在Java   EE环境中的默认值是JTA(采用注解),而在Java SE环境中则为RESOURCE_LOCAL
而我的是java ee环境,所以设置的RESOURCE_LOCAL事务出错;使用JTA就没有问题了;
JTA 和RESOURCE_LOCAL  两种事务管理有多大区别呢,下回再研究下。

下面给出没有问题的:
persistence.xml:
    <persistence-unit name="octawave" transaction-type="JTA">
<jta-data-source>java:/sqlserverDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.jdbc.batch_size" value="10" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
</properties>
    </persistence-unit>

ReturnOrderOperatorBean:
@Stateful
@Remote(RtnOrderOperator.class)
public class ReturnOrderOperatorBean implements RtnOrderOperator,
java.io.Serializable {
       @PersistenceContext
private EntityManager manager
;//此处采用注解的形式(java ee容器),用容器管理事务

        @Remove
@TransactionAttribute(TransactionAttributeType.REQUIRED)//此处采用注解的形式,用容器管理事务
public void persist(com.octawave.oms.trade.entity.ReqOrderAction rtnoo) {
manager.persist(rtnoo);
}

参考推荐:
    http://www.coderanch.com/t/461345/ORM/java/Persistence-Unit-Unable-build-EntityManagerFactory
http://topic.csdn.net/u/20070809/11/0d9a306d-8dec-4013-8ab7-e79d6dd73da6.html
0
0
分享到:
评论

相关推荐

    ejb3-persistence(找不到javax.persistence.Entity问题解决)

    “Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity”,查找资料发现是缺少jar包. 添加此包就OK了。 更多说明:https://blog.csdn.net/kingmax54212008/article/details/82762624

    EJB3的三本好书第1本 Beginning EJB3 Application Development From Novice to Professional

    1. Beginning EJB3 Application Development From Novice to Professional联接http://download.csdn.net/source/1865607 2. EJB3 in Action 2007联接http://download.csdn.net/source/1865636 3. Mastering EJB3联接...

    EJB3的三本好书第3本 Mastering EJB3 4ed

    1. Beginning EJB3 Application Development From Novice to Professional联接http://download.csdn.net/source/1865607 2. EJB3 in Action 2007联接http://download.csdn.net/source/1865636 3. Mastering EJB3联接...

    EJB3 in action ORALCE PPT

    Here are some of the key goals and features that define EJB3: 1. **Simplification of Developer's Life**: EJB3 greatly reduces the complexity involved in developing enterprise applications by ...

    EJB3的三本好书第2本, EJB3 in Action 2007

    1. Beginning EJB3 Application Development From Novice to Professional联接http://download.csdn.net/source/1865607 2. EJB3 in Action 2007联接http://download.csdn.net/source/1865636 3. Mastering EJB3联接...

    EJB原理图:EJB工作原理

    ### EJB原理图详解 #### 一、EJB工作原理概览 EJB(Enterprise JavaBeans)是Java EE平台中的一个重要组成部分,它主要用于构建企业级应用。EJB提供了一种面向服务的方式,允许开发者专注于业务逻辑,而将复杂的...

    ejb3 带源码

    "ejb3 带源码"的资源,如"Mastering EJB3"和"Beginning EJB3 Application Development"等,提供了深入学习和实践EJB3技术的宝贵材料。 1. **EJB3核心概念**: - **实体Bean(Entity Bean)**:代表数据库中的持久...

    ejb3超详细教程ejb3超详细教程

    总之,"ejb3超详细教程ejb3超详细教程ejb3超详细教程"是一个全面涵盖EJB3技术的资源,涵盖了从基础概念到高级特性的方方面面,是学习和掌握EJB3的宝贵资料。通过阅读EJB3.doc文档,你可以深入了解EJB3的每个方面,并...

    实战角度比较EJB2和EJB3的架构异同

    【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...

    EJB3 入门经典 源码

    在源码学习过程中,你可以通过以下步骤深入理解EJB3: 1. **阅读源码结构**:了解项目目录结构,找出bean、实体类、DAO(数据访问对象)、服务接口和服务实现等关键组件。 2. **分析注解**:查看各组件上的注解,...

    EJB的Ant配置文件build.xml

    EJB的Ant配置文件build.xml,每段代码附有中文说明,通俗易懂,还根据不同版本的JBoss有不同的配置说明,以及需要修改的点。本人使用的是JBoss7.1.1,这其中也说明了更老版本的配置方式,完全能理解修改

    myeclilpse开发EJB+Webapp

    3. 使用Eclipse开发EJB:通过Eclipse的New -&gt; Enterprise Java Project,可以创建EJB项目,然后添加EJB组件,如Session Bean或Entity Bean,并自动生成对应的接口和实现类。 【Web应用程序调用EJB】 1. Web层与EJB...

    EJB3_Persistence开发手册-EJB3_QL查询

    ### EJB3_Persistence开发手册-EJB3_QL查询知识点详解 #### 一、EJB3与实体Bean操作概述 EJB(Enterprise JavaBeans)3规范中的持久化部分(即EJB3 Persistence)提供了一种简化的方式来管理和操作企业级应用程序...

    EJB.rar_ejb_site:www.pudn.com

    8. **EJB 2.x与EJB 3.x的区别**: - EJB 3.x引入了注解,大大简化了API,降低了学习曲线。 - POJO(Plain Old Java Object)模型,允许开发者使用普通的Java类作为Bean,而无需继承特定的Bean基类。 9. **EJB在...

    EJB3应用实例

    **EJB3应用实例** EJB(Enterprise JavaBeans)3是Java EE(Enterprise Edition)平台中的核心组件之一,主要用于构建可扩展、可移植且高度模块化的企业级应用程序。EJB3引入了许多重大改进,简化了开发流程,降低...

    ejb3-persistence.jar

    《ejb3-persistence.jar:Java企业级持久化框架详解》 在Java开发领域,ejb3-persistence.jar是一个至关重要的组件,它涉及到Java企业版(Java EE)中的企业级bean(EJB)3.0规范,特别是持久化(Persistence)部分...

    jboss7 + EJB3

    【JBOSS7 + EJB3详解】 JBOSS7是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE 6(Enterprise JavaBeans 3.1)规范,提供了全面的中间件服务,包括Servlet、JSP、JSF、EJB、JMS等。EJB3是Java EE平台中...

    ejb3-persistence

    ejb3-persistence.jar文件是EJB3持久化模块的实现库,它包含了EJB3规范中关于持久化的API和实现,如EntityManager和EntityManagerFactory等接口,以及它们的实现类。这些类和接口提供了CRUD(创建、读取、更新、删除...

    EJB3+JBOSS5+JPA整合

    EJB3是EJB规范的一个重要版本,它极大地简化了EJB的开发模型,引入了大量的注解,使得开发者无需编写大量的XML配置文件就能实现企业级功能。 在EJB3中,主要的组件包括: 1. **实体Bean (Entity Beans)**:代表持久...

    ejb3_structs

    【 ejb3_structs 】是一个关于企业级JavaBean(EJB)3.0与Struts框架集成的项目。在Java EE(Enterprise Edition)应用程序开发中,EJB3和Struts是两个重要的组件,分别负责业务逻辑管理和用户界面展示。 **EJB...

Global site tag (gtag.js) - Google Analytics