如何切换EJB3的 EntityManager

问题描述

一个项目里有好几个数据库,我如何通过参数来回切换呢?经查找有方法说用注释,@persistentContext(unitName="x"),x指定persistence.xml的名称,但我是想通过参数动态来得到,这样如何切换呢?

解决方案

解决方案二:
使用EntityManagerFactory,unitName都是可以动态传入的

时间: 2024-11-08 20:09:38

如何切换EJB3的 EntityManager的相关文章

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

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:eclipse + JBoss 5 + EJB3开发指南(12):使用命名查询执行JPQL      在前面的文章中使用的都是容器管制的EntityManager对象.这类EntityManager对象是由EJB容器创建的,在这种情况下,EntityManager对象的生命周期完全由EJB容器来管理.在SessionBean中可以使用如下的代码来通知EJB容器创建EntityManager对象: @PersistenceContext(un

EJB3开发(13):在Servlet中访问应用程序管制EntityManager对象

本文为原创,如需转载,请注明作者和出处,谢谢!      在前面的文章中使用的都是容器管制的EntityManager对象.这类EntityManager对象是由EJB容器创建的,在这种情况下, EntityManager对象的生命周期完全由EJB容器来管理.在SessionBean中可以使用如下的代码来通知EJB容器创建 EntityManager对象: Code: @PersistenceContext(unitName="myentity")   protected Entity

EJB3和Spring技术体系比较

随着EJB3规范以及支持EJB3的Java EE应用服务器的即将发布,全新Java EE体系架构的新 战争将拉开帷幕,在过去3年中如火如荼的Spring占据了Java EE应用开发基础平台的大半江 山,面对EJB3和Spring你应该如何选择呢? 作为一个架构师,我对EJB是既爱且恨,对Spring又恨又爱,现在我们来也把这两大技术 体系来做一个全面分析和对比,希望能给大家在进行技术选型时一个更好的参考. 1. 法制 VS "民主" EJB规范一直由国际组织JCP来制定,一经通过,即作

EJB3.0新规范概览及其未来发展

规范 引言 期待已久的EJB3.0规范在最近发布了它的初稿.在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等.作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系. 开始 无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好.EJB大概是J2EE架构中唯一一个没有兑现其能够简单开发并提高生产力的组建. EJB3.0规范正尝试在这方面作出努力以减轻其开发的复杂性.EJB3

Kodo EJB:符合EJB3规范的持久层框架

规范 Kodo是BEA公司收购SolarMetric公司后获得的持久层框架项目,以前只是支持JDO标准,2006年2月13日,BEA公司宣布发布Kodo项目的最新版本--Kodo 4.0.0 Early Access 4,Kodo 4.0.0 EA4支持EJB3和JDO2两个标准,本文中,我们将首先学习和了解KODO EJB,了解如何使用Kodo EJB完成开发工作. 我们将按照两种不同的情况讲述如何使用Kodo EJB进行开发,一种是通过命令行工具,另外一种是在Eclipse中使用Ant任务.

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

在EJB3中可以使用EntityManager对象的createQuery方法来执行JPQL(类似于Hibernate中的HQL), 这非常简单.但使用createQuery方法处理JPQL时,在每次执行JPQL的过程中系统都需要对JPQL进行分析 ,这在一定程度上降低了系统运行时的性能.为此,EJB3提供了命名查询的概念.命名查询有些类型于数 据库中的存储过程,在提交的过程中就已经被编译处理了.因此,在执行效率上要高一些. 我们可以使用@NamedQuery注释来定义命名查询.这个注释可以放在

eclipse + JBoss 5 + EJB3开发指南(6):编写第一个实体Bean程序

EJB3容器通过EntityManager对象管理实体Bean,该类最主要的功能就是在记录和JavaBean之间进行互 相映射.例如,我们从数据库中查出一条记录,这条记录有field1和field2两个字段,假设有一个 JavaBean,也包含了field1和field2属性.那么EntityManager可以将这条记录中的值映射到JavaBean的 field1和field2属性中.也就是说,在数据库中的一条记录就对应于一个JavaBean的对象实例.下面将给 出一个简单的例子来演示如何来实现

EJB3应用程序的开发方法

1.EJB3是一个深层次的规范,包含了3个文档,分别面向初级开发者和资深用户. 2.EJB3在容器之外使用实体Bean--> 新的容器外持久化特性. 3.EJB3由JSR220定义:第一个文档:综合介绍新版本的高级特性,着重介绍用于构建EJB组件的新的简化模型:后两个文档:分布讲解核心企业Bean框架和持久化模型的技术细节. (1)EJB3简化API(EJB3 Simplified API)高度概括新EJB3开发模型: (2)EJB3核心约定和要求(EJB3 Core Contracts and

EJB3 Persistence API标准化持久性

持久性对于大多数企业应用程序都非常关键,因为它们需要访问关系数据库(例如Oracle Database 10g).如果您正在使用Java开发应用程序,您可能需要完成一些常规任务(例如数据库更新和检索),这是通过编写JDBC和SQL来完成的.最近几年,几种对象关系(O-R)映射框架(例如Oracle TopLink.JBoss Hibernate和BEA Kodo)开始流行,因为它们简化了持久性问题,将Java开发人员从编写JDBC代码的工作中解放出来,从而使他们能够将精力集中于业务逻辑.一些Ja