Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何创建在容器和独立应用程序中工作的JPA EntityManagerFactory?

如何创建在容器和独立应用程序中工作的JPA EntityManagerFactory?
EN

Stack Overflow用户
提问于 2012-03-15 17:12:46
回答 1查看 996关注 0票数 0

我对JPA很陌生,所以在搜索了一段时间之后,我想不出该如何做以下事情。

我希望在单元测试、生产-树脂应用服务器以及GWT (jetty)的开发模式中使用JPA注释类。

问题是,在单元测试中,我可以将Persistence.createEntityManagerFactory与META/sistence.xml一起使用,而且效果很好。但是,它不适用于树脂,我在GWT开发模式中也得到了同样的错误。

我可以通过使用@Inject注解和树脂-web.xml让它在树脂上工作,但不确定如何在GWT模式下使用它。

如果可能的话,我想在所有3种情况下使用相同的代码:单元测试、GWT的Jetty和生产中的树脂。我也喜欢让树脂处理连接池,如果可能的话避免使用Spring。

是否有涵盖此特定案例的教程或任何代码示例?什么是最佳做法?

EN

回答 1

Stack Overflow用户

发布于 2012-03-16 07:18:58

因为您可以使用Guice,所以Guice可以删除现有的@Inject注释。

因此,这里的想法是在运行您的代码时执行与树脂相同的操作。树脂识别@Inject注释,找到适当的类并实例化,而不是注入该值。我们可以让Guice为您的单元测试和GWT模式做同样的事情。

最大的改变是您必须为您的persistence.xml创建一个单独的配置文件。复制现有文件并更改名称。例如,如果您现有的PU是"myJPAUnit",那么在新文件中,将它命名为"myJPAUnitLocal“如下:

代码语言:javascript
运行
AI代码解释
复制
 <persistence-unit name="myJPAUnitLocal" transaction-type="RESOURCE_LOCAL">
 </persistence-unit>

另一个关键更改是将transaction-type更改为RESOURCE_LOCAL,如上面的示例所示,因为您的事务不是由容器管理的。

我不会讨论预reqs,因为Google上有很多关于用Guice运行Junit测试和webapps的好教程,但我认为这可能是一个绊脚点。剩下的步骤如下:添加Guice过滤器,扩展GuiceServletContextListener,向其中添加JPA注入器,将侦听器添加到web.xml中。

如何在webapp:http://code.google.com/p/google-guice/wiki/ServletModule

添加JPA注入器

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9730518

复制
相关文章
如何构建在 Docker 容器中运行命令?
Docker 是一种开源的容器化平台,它可以让开发者打包应用程序及其所有依赖项,并将其部署到任何支持 Docker 的环境中。Docker 容器提供了一种轻量级、可移植、自包含的方式来运行应用程序。本文将详细介绍如何构建在 Docker 容器中运行命令的步骤和技巧。
网络技术联盟站
2023/07/13
3260
如何构建在 Docker 容器中运行命令?
解决集成jpa时无法创建entityManagerFactory的问题
最近将IDEA 2018.1版本更新到了2018.2版本,更新好后跑了一下之前的项目,结果就报错了,这个项目集成了spring data jpa。由于该错误有多种原因导致,在解决该错误的时候也花了一些时间,所以特别记录一下。关键的报错信息如下:
端碗吹水
2020/09/23
3.3K0
Jpa使用详解
在java工程的resources路径下创建一个名为META-INF的文件夹,在此文件夹下创建一个名为persistence.xml的配置文件
说故事的五公子
2020/06/02
3.3K0
springBoot生成SQL文件-使用Hibernate5的SchemaExport实现02
在上篇springBoot生成SQL文件-使用Hibernate5的SchemaExport实现01中已经知道从Hibernate5.0.x开始通过程序生成SQL的方式已变成:
WindCoder
2020/01/21
1.1K0
Spring认证中国教育管理中心-Spring Data JPA 参考文档七
原标题:Spring认证|Spring Data JPA 参考文档七(内容来源:Spring中国教育管理中心)
IT胶囊
2021/11/03
1K0
Spring认证中国教育管理中心-Spring Data JPA 参考文档七
java ORM框架(三)
Spring Data JPA 是一个基于 Spring Framework 和 JPA 规范的 ORM 框架。它提供了一种简单的方式来访问和操作关系型数据库。
堕落飞鸟
2023/04/04
4320
使用Spring Boot,JPA,Hibernate和Postgres的多租户应用程序
多租户是一种方法,应用程序实例由不同的客户使用,从而降低软件开发和部署成本,与单一租户解决方案相比,在这种解决方案中,需要触及多个部分以提供新客户端或更新现有租户。
Java架构师历程
2018/09/26
7.9K1
使用Spring Boot,JPA,Hibernate和Postgres的多租户应用程序
高级教程-springData-JPA第一天【悟空教程】
ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过 ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联, 操作对象就可以直接操作数据库数据,就可以说这套程序实现了 ORM 对象关系映射
Java帮帮
2018/08/16
4.4K0
高级教程-springData-JPA第一天【悟空教程】
JPA入门和相关操作
ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射
不愿意做鱼的小鲸鱼
2022/09/26
3.2K0
容器如何工作:OverlayFS
今天早上,我为未来潜在容器杂志画了一幅 OverlayFS 的漫画,我对这个主题感到兴奋,想写一篇关于它的博客来提供更多详细信息。
用户1880875
2021/09/22
7720
Spring Data JPA 参考文档四
原标题:Spring认证|Spring Data JPA 参考文档四(内容来源:Spring中国教育管理中心)
IT胶囊
2021/10/19
3.6K0
Spring Data JPA 参考文档四
springboot jpa 配置多数据源报错解决 Consider defining a bean named ‘entityManagerFactory‘
方法1:将其中一个datasource添加@Primary注解 方法2:自行定义entityManagerFactory
路过君
2022/09/23
1.8K0
一篇 JPA 总结
下面是 JDBC 在 Java 应用和数据库之间的位置,充当着一个中间者,供 Java 应用程序访问所有类别的数据库,建立一个标准
bgZyy
2018/08/01
5.6K0
一篇 JPA  总结
关于Java持久化相关的资源汇集:Java Persistence API
先来个BEA的网上技术交流会(Webinar):EJB3 Java Persistence API:好的、坏的和一般功能,附件是PPT资料。
阿敏总司令
2019/02/28
2.6K0
JPA EntityManager详解
应用程序管理的EntityManager(Application-Managed EntityManager)
py3study
2020/01/09
2.1K0
Spring JpaTransactionManager事务管理
首先,在做关于JpaTransactionManager之前,先对Jpa做一个简单的了解,他毕竟不如hibernate那么热门,其实二者很相识,只不过后期hibernate和JDO 版本都已经兼容了其Jpa,目前大家用的少了。
全栈程序员站长
2022/11/17
6720
SpringBoot Jpa 多数据源动态切换
在大型应用程序中,配置主从数据库并使用读写分离是常见的设计模式。常用的实现方式是使用数据库中间件,此文介绍如何通过编写代码的方式实现多数据源的配置和动态切换。核心是使用Spring 内置的 AbstractRoutingDataSource 这个抽象类,它可以把多个数据源配置成一个Map,然后,根据不同的key返回不同的数据源。
BUG弄潮儿
2022/02/10
1.5K0
Spring Boot 构建多租户SaaS平台核心技术指南
笔者从2014年开始接触SaaS(Software as a Service),即多租户(或多承租)软件应用平台;并一直从事相关领域的架构设计及研发工作。机缘巧合,在笔者本科毕业设计时完成了一个基于SaaS的高效财务管理平台的课题研究,从中收获颇多。最早接触SaaS时,国内相关资源匮乏,唯一有的参照资料是《互联网时代的软件革命:SaaS架构设计》(叶伟等著)一书。最后课题的实现是基于OSGI(Open Service Gateway Initiative)Java动态模块化系统规范来实现的。
JAVA葵花宝典
2020/03/10
2.8K0
Spring Boot 构建多租户SaaS平台核心技术指南
应用对持久数据的管理 | 从开发角度看应用架构7
当应用程序将数据存储在永久性存储中(例如flat file,XML文件或数据库的持久性数据)时,它被称为数据的持久性。 关系数据库是企业应用程序用来保存数据以供重用的最常见的数据存储之一。
魏新宇
2018/07/30
2.8K0
应用对持久数据的管理 | 从开发角度看应用架构7
Spring Boot2 系列教程(二十三)理解 Spring Data Jpa
有很多读者留言希望松哥能好好聊聊 Spring Data Jpa! 其实这个话题松哥以前零零散散的介绍过,在我的书里也有介绍过,但是在公众号中还没和大伙聊过,因此本文就和大家来仔细聊聊 Spring Data 和 Jpa!
江南一点雨
2019/11/11
2.1K0

相似问题

JPA EntityManagerFactory

14

使用Hibernate和JPA构建EntityManagerFactory

23

Weld和托管的EntityManagerFactory容器

14

独立应用程序中的JPA、EJB和JTA

10

如何在jpa中共享EntityManagerFactory

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文