`
seara
  • 浏览: 648768 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

eclipse + JBoss 5 + EJB3开发指南(13):在Servlet中访问应用程序管制EntityManager对象

阅读更多
本文为原创,如需转载,请注明作者和出处,谢谢!

上一篇:eclipse + JBoss 5 + EJB3开发指南(12):使用命名查询执行JPQL

在前面的文章中使用的都是容器管制的EntityManager对象。这类EntityManager对象是由EJB容器创建的,在这种情况下,EntityManager对象的生命周期完全由EJB容器来管理。在SessionBean中可以使用如下的代码来通知EJB容器创建EntityManager对象:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->@PersistenceContext(unitName="myentity")
protectedEntityManagerem;

上面的代码需要放在任意一个SessionBean的类中,EJB容器会自动创建EntityManager对象。但如果要在Servlet中直接访问EntityManager对象,需要使用EntityManagerFactory接口的createEntityManager方法来创建EntityManager对象,在使用完EntityManagerFactory和EntityManager对象后,可以使用相应的close方方关闭这两个对象。在编写Servlet中访问应用程序管制实体Bean之前,需要修改一个persistence.xml文件的内容,修改后的结果如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xmlversion="1.0"encoding="UTF-8"?>
<persistencexmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"

version
="1.0">

<persistence-unitname="myentity"transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>java:/MyPIM</non-jta-data-source>
<properties>
<propertyname="hibernate.hbm2ddl.auto"value="none"/>
<propertyname="hibernate.dialect"value="org.hibernate.dialect.MySQL5Dialect"/>
<propertyname="hibernate.format_sql"value="true"/>
<propertyname="hibernate.show_sql"value="true"/>
</properties>
</persistence-unit>
</persistence>

修改的地方有如下两个:
1. 将<persistence-unit>元素的transaction-type属性值设为RESUORCE_LOCAL。
2, 将<jta-data-source>元素改成<non-jta-data-source>,元素值不变。

要注意,这时不能使用@PersistenceContext注释通知EJB容器自动创建EntityManager对象了,如果仍然想这样做,可以定义其他的<persistence-unit>元素。

下面是访问EntityManager对象的Servlet代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->packageservlet;

importjava.io.IOException;
importjavax.persistence.EntityManager;
importjavax.persistence.EntityManagerFactory;
importjavax.persistence.Persistence;
importjavax.persistence.PersistenceContext;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importentity.DateBean;

publicclassMyServletextendsHttpServlet
{
privatestaticfinallongserialVersionUID=1L;
protectedvoidservice(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException
{
EntityManagerFactoryemf
= Persistence.createEntityManagerFactory("myentity");
EntityManagernewEM
=emf.createEntityManager();
DateBeandb
=newEM.find(DateBean.class,1);
response.getWriter().println(db.getMyDate());
newEM.close();
emf.close();
}
}

下一篇:eclipse + JBoss 5 + EJB3开发指南(14):消息驱动Bean

国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

    使用Eclipse+Jboss+MySql开发EJB

    在IT行业中,开发企业级应用程序通常涉及到多个技术的集成,如Eclipse作为IDE,Jboss作为应用服务器,以及MySql作为数据库系统。本教程将详细阐述如何利用这些工具来开发EJB(Enterprise JavaBeans)。 **Eclipse**...

    eclipse + JBoss 5 + EJB3开发指南

    ### Eclipse + JBoss 5 + EJB3 开发指南 #### (1):编写第一个无状态的SessionBean ##### 一、配置开发环境 在开始编写无状态的SessionBean之前,首先需要确保开发环境已经正确配置。以下是所需的主要组件: 1...

    eclipse + JBoss 5 + EJB3开发指南中的代码

    在本文中,我们将深入探讨如何使用Eclipse集成开发环境(IDE)与JBoss Application Server 5相结合,利用Enterprise JavaBeans(EJB)3.0规范进行应用程序开发。EJB3是Java EE(企业版)平台的一个重要组成部分,它...

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...

    EJB3+JBOSS5+JPA整合

    EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可复用...开发者需要深入理解EJB3的编程模型、JPA的持久化机制以及JBOSS5的配置和管理,才能有效地利用这些技术来构建高质量、高可维护性的应用程序。

    手把手系列-Eclipse+JBossIDE+JBoss开发环境配置

    本教程主要关注的是如何使用Eclipse集成开发环境(IDE)配合JBossIDE插件以及JBoss应用服务器来搭建一个高效、稳定的Java EE开发环境。接下来,我们将深入探讨这个主题,详细讲解每一个步骤。 一、Eclipse简介 ...

    Eclipse + Jboss 开发J2EE应用

    在服务器配置中启用远程调试端口,然后在Eclipse的调试视图中设置远程Java应用程序的调试配置,连接到JBoss,这样就可以在代码中设置断点进行调试了。 总的来说,Eclipse和JBoss的结合为Java开发者提供了一个高效且...

    yeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程详解

    在深入探讨如何在yeclipse7.0与JBoss5.0环境下构建和测试EJB3.0应用之前,让我们先了解一些背景知识。EJB(Enterprise JavaBeans)是Java平台的一部分,用于开发和管理基于组件的企业级应用程序。EJB3.0引入了大量...

    eclipse+jboss+jsp.rar

    标题 "eclipse+jboss+jsp.rar" 涉及到的是一个关于如何在Eclipse集成开发环境中配置和使用JBoss应用服务器以及开发JSP应用程序的综合教程。这个压缩包包含了多个指南和步骤文档,帮助开发者了解和实践相关配置。 ...

    EJB3 实例教程(JBoss+Eclipse+Ant)

    **EJB3 实例教程(JBoss+Eclipse+Ant)** Enterprise JavaBeans(EJB)是Java平台上用于构建可扩展、安全且事务处理能力强的企业级应用的技术。EJB3是EJB规范的一个重大改革,它引入了许多简化开发的特性,使得企业级...

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    《经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发》介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message Driven Bean的...

    myEclipse+Jboss+mysql+EJB

    【标题】"myEclipse+Jboss+mysql+EJB"是一个综合性的开发环境配置,它涵盖了四个关键组件:myEclipse、Jboss、mysql和EJB。这些组件在IT行业中都扮演着重要的角色,尤其在企业级Java应用的开发与部署上。 ...

    ejb课程测试代码,eclipse+jboss5.1 ant编译等代码

    在本课程测试代码中,我们将探讨如何在Eclipse集成开发环境(IDE)下使用Apache Ant构建工具,配合JBoss 5.1应用服务器进行EJB的开发和部署。 【Eclipse】是广泛使用的开源Java IDE,支持多种Java项目类型,包括EJB...

    Eclipse+Jboss EJB技术 会话Bean

    在Java企业版(Java EE)开发中,EJB(Enterprise JavaBeans)是核心组件之一,用于构建可扩展、安全和事务处理的服务器端应用程序。EJB技术提供了多种类型的Bean,其中包括会话Bean,它们作为客户端与业务逻辑之间...

Global site tag (gtag.js) - Google Analytics