注入 EntityManager 对比实体管理器工厂

2023-12-19

一个很长的问题,请耐心等待。

我们正在使用 Spring+JPA 来构建 Web 应用程序。我的团队正在争论注射问题EntityManagerFactory in the GenericDAO(APPFUSE 提供的基于 Generics 的 DAO,我们不使用JpaDaosupport由于某种原因)过度注入EntityManager。我们正在使用“应用程序管理的持久性”。

反对注入的论点EntityManagerFactory是它太重了,所以不需要,EntityManager做我们需要的。另外,由于 Spring 会为每个 Web 请求创建一个新的 DAO 实例(我对此表示怀疑),因此不会出现任何并发问题EntityManager实例由两个线程共享。

注入 EFM 的理由是,它是一种很好的实践,拥有工厂的句柄总是好的。

我不确定哪种方法是最好的,有人可以启发我吗?


Spring 文档中详细说明了注入 EntityManagerFactory 与 EntityManager 的优缺点here http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa-straight,我不确定我是否可以改进这一点。

话虽如此,你的问题中有一些要点需要澄清。

...Spring 将创建一个新实例 每个网络请求都有一个 DAO...

这是不正确的。如果您的 DAO 是 Spring bean,那么它就是单例,除非您通过其他方式配置它scopebean 定义中的属性。为每个请求实例化一个 DAO 是疯狂的。

注入 EMF 的论点是 总的来说,这是一个很好的做法 有一个手柄总是好的 工厂。

这个论点实在站不住脚。一般的良好实践表明,一个对象应该注入完成其工作所需的最少协作者。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

注入 EntityManager 对比实体管理器工厂 的相关文章

  • 如何使用appium和java在Android中向下滚动以单击元素?

    我想知道如何使用appium和java向下滚动以单击Android中的元素 我里面有一个元素列表 android support v7 widget RecyclerView由于它有10多个元素 所以我们需要滑动屏幕才能看到下面的元素 每个
  • wsimport Xauthfile 错误

    我正在尝试为我们公司网络外部的受 SSL 保护的 Web 服务 在 Microsoft Biztalk 上 生成客户端 也称为消费者 所需的 java 帮助类 我们只能通过代理访问它 并且无法更改 Web 服务本身的任何内容 这是我提供给
  • 在jodatime中计算一个月的周数

    jodatime 可以计算一个月的周数吗 我需要这样的东西 月份 七月 第 27 年的一周 1 7 七月 第 28 年的一周 9 14 七月 第 29 年的一周 16 21 七月 第 30 年的一周 23 31 七月 月份 八月 第 31
  • 用零向左填充字符串[重复]

    这个问题在这里已经有答案了 我见过类似的问题here https stackoverflow com questions 388461 padding strings in java and here https stackoverflow
  • 正则表达式忽略引号之间的文本

    我有一个正则表达式 它是 s 这用于分割字符串 但我不想让它分开 如果它在引号中 我不会使用 split 而是使用 Pattern 和 Matcher A demo import java util regex Matcher import
  • Java 似乎找不到我的本机库

    我正在尝试从我的 jar 中运行我的程序 名为 PViz jar 该 jar 位于一个目录中 其中包含所有依赖的 jar 以及它们所依赖的 so 文件 我使用的是 Mac OS X 当我运行此命令时 java cp PViz jar pvi
  • java.util.Currency.getInstance 抛出 IllegalArgumentException

    我只是想尝试一下java util Currency 但对于少数货币代码来说它让我困惑java lang IllegalArgumentException 这是我的简单代码 java util Currency c java util Cu
  • 将变量从一个 jsp 发送到另一个 jsp

    我有一个 JSP 文件jsp 1 jsp和另一个 JSP 文件jsp 2 jsp 我已经包括了jsp 2 jsp in jsp 1 jsp using 现在我需要某个元素上的单击事件 在该事件中 我想将字符串变量传输到包含的 jsp 中 假
  • Android 上为什么会出现线程泄漏?

    我在 Android 应用程序中注意到 每次退出主屏幕时 堆大小 泄漏 都会增加 ByteArrayOutputStream 的量 我能做到的最好的办法就是添加 this mByteArrayOutputStream null 在 的最后r
  • 在 DAO 中反映继承关系最有效的方法是什么?

    使用 MVC 结构和业务对象 http en wikipedia org wiki Business object DAO http en wikipedia org wiki Data access object建筑学 对于任何正常的业务
  • SLF4J 日志级别作为参数[重复]

    这个问题在这里已经有答案了 我们希望使用 SLF4J 但我们发现的一件事是您无法将级别指定为参数 即 Logger log Level INFO messsage 你必须这样做 logger info message 这使得无法通过方法传递
  • Google-GSON 的 Spring MVC 映射视图?

    有谁知道是否有 Spring MVC 映射视图Gson http code google com p google gson 我正在寻找类似的东西org springframework web servlet view json Mappi
  • 使用 Spring 3 验证向导页面

    我开始研究如何在 Spring 中为类似向导的表单创建控制器 并遇到了 AbstractWizardFormController 我很快注意到它已被弃用 然后我进一步挖掘并发现如何用 Spring 3 完成类似的事情 https stack
  • Python Blowfish 加密

    由于我对 Java 的了解不完整 我正在努力将此加密代码转换为 Python 代码 两者应该得到完全相同的结果 帮助将不胜感激 Java函数 import javax crypto Cipher import javax crypto sp
  • 在 OpenCV 中将 `BufferedImage` 转换为 `Mat`

    我怎样才能转换BufferedImage to a Mat in OpenCV 我正在使用 JAVA 包装器OpenCV not JavaCV 由于我是新手OpenCV我在理解如何做时遇到一些问题Mat works 我想做这样的事情 基于
  • NoClassDefFound错误:org/apache/tools/ant/util/ReaderInputStream

    我在 Intellij 中有一个带有 gradle 的 java 项目 它直到几个小时前才工作 但在进行微小更改 或者我认为是这样 后突然出现错误 Error gradle resources test analyzer main java
  • 在基于 Spring 的 Tomcat 应用程序中使用 c3p0 连接池

    我有一个基于 Spring 的 Web 应用程序在 tomcat 6 下运行 现在 我想使用 c3p0 连接池而不是 tomcat 的默认 DBCP 所以 从c3p0帮助 http www mchange com projects c3p0
  • 我可以为每个片段单独提供工具栏吗?如何处理导航抽屉

    在我的应用程序中 某些页面的工具栏中有自定义视图 有些片段具有透明工具栏 有些片段具有坐标布局滚动 因此 我决定为每个片段单独设置工具栏 我想知道这是否是一个好的做法 如果有人已经这样做了 请分享代码或示例 您可以在片段中使用自定义工具栏
  • JDK1.6 中 ManagementFactory 的托管 Mbean - NotCompliantMBeanException:

    我使用 ManagementFactory 来获取 JDK1 5 和 JBOSS 4 X 中的 ManagedMbeans 现在想将我的相同代码移至 JDK 1 6 Mbean 部分中断并抛出异常 引起原因 javax management
  • Java 8 哈希映射无法正常工作

    自 java 8 以来 我们面临着 HashMap 行为方式的奇怪问题 当HashMap的键实现了Comparable接口 但compareTo的实现与equals不一致时 HashMaps 长得比它们应该长的大得多 它们包含多个相同元素的

随机推荐

  • 将 pandas 中的通话数据拆分为 15 分钟间隔

    我是 python 和 pandas 的新手 尽管我研究了很多关于间隔的知识 但我找不到任何解决我的问题的方法 我希望有人可以提供帮助 这是我的 DF 示例 df pd DataFrame data Mel Gibson German 20
  • Laravel 混合版本控制不会删除旧的构建文件

    我正在使用 Laravel 5 4 和 mix 来版本化我的 javascript 和 scss 文件 问题是 它不会清除以前构建的文件 而只是添加一个具有不同文件名的新文件 即app 9d3e179e85922aad6ccf js 在我开
  • Go 中的符号 [:] 是什么意思?

    我在一些代码中发现了这一点 h s Hash tx sig err crypto Sign h prv 什么是 意思是 如果这是数组的完整切片 为什么不传递数组本身呢 这是什么编码风格 我想知道 在Go中 数组和切片略有不同 不能互换使用
  • AJAX 分页后的 WordPress 类别

    我真的很难找到一种方法来使用 ajax 为我的 WordPress 帖子创建分页 我找到的解决方案不起作用 要获得更多信息 这里有一个链接 底部有用于分页的项目符号 单击这些按钮后 我希望网站能够加载新帖子而不触发页面刷新 http max
  • 填充 va_list

    有没有办法创建一个va list从头开始 我正在尝试调用一个需要va list作为参数 func void entry int num args va list args char key 来自不接受可变数量参数的函数 我能想到的唯一方法是
  • 信号无法通过 execv() 正确重新启用

    我正在为我正在开发的 Linux 发行版编写一个系统关键程序 它需要在收到某些信号时自行重新启动 以避免崩溃 问题是 重新启动后 我无法重新启用该信号 也就是说 信号不能被接收两次 execv 自身执行后 当新进程调用 signal 来设置
  • 简单不平衡搜索树的平均渐近深度是多少?

    对于平衡搜索树 所有情况都是 O log N 对于不平衡搜索树 最坏情况是 O N 例如插入 1 2 3 4 最好情况复杂度是平衡时 例如插入 6 4 8 3 5 7 我们如何定义不平衡搜索树的平均情况复杂度 二叉树的平均高度为 Theta
  • docker-compose 使用独特的环境变量进行扩展

    我的 docker compose 文件中有一个示例计算服务 它按预期工作得很好 version 3 services compute service image dummy compute environment INPUT 2 然而 有
  • mongodb:我应该在更新时始终使用“安全”选项吗

    在处理 mongodb 时 我什么时候应该在查询中使用 safe true 现在我使用 安全 选项只是为了检查我的查询是否已成功插入或更新 不过 我觉得这可能有点过头了 我是否应该假设 99 的时间 我的查询 假设它们被正确编写 将被插入
  • Photoshop 的 RGB 级别与 ImageMagick

    我正在尝试将 Photoshop 中创建的一些效果转换为与 php imagemagick 一起使用的代码 现在我对如何重新创建 Photoshop 的 RGB 级别功能特别感兴趣 我不太熟悉 Photoshop 界面 但这是我得到的信息
  • 从历史记录中删除合并并重新调整非顺序提交的基础

    我有以下 git 历史记录 我想在其中压缩提交并删除多个合并 git log graph oneline all 80e2fa1 I want to squash this commit 7850013 Merge branch maste
  • findViewById如何初始化视图

    我刚刚为那些被 findViewById 困惑的人写了一个答案 我意识到我的理解存在差距 这个问题只是出于知识和好奇心 考虑一下 button Button findViewById R id button findViewById返回一个
  • MySQL DATE_ADD 不起作用

    我有两列 开始时间和持续时间 我正在尝试计算结束时间 问题是我得到空结果 我已经尝试了几件事 DATE ADD startTime INTERVAL duration MINUTE AS endTime DATE ADD startTime
  • 将 pthread 作为输入并将其挂起的函数

    我正在尝试从 POSIX 中的 ExpressLogic 移植实时 Thread Metric 以便为我的论文对 Linux Xenomai 和 RTAI 的 PREEMPT RT 补丁进行基准测试 他们提供了一个具有以下函数的 C 源文件
  • 使用 Apache .htaccess 限制直接文件访问

    如何限制对每个具有 inc 的文件的直接访问 在文件名中 基本上我这样做是为了指出必须仅包含特定文件 已经使用 Apache 和 mod rewrite 来实现基本的 SEO 目的 这 有点 超出了我的知识范围 希望 htaccess 应该
  • Android Studio 上的省电模式未禁用

    我多次尝试在 Android Studio 1 2 1 1 上禁用省电模式以激活 Code Complete 功能 但没有禁用 我在 Windows 7 上运行工作室 可能是什么问题呢 请有人帮忙 你可以试试这个 您还可以检查文件菜单上的省
  • JavaScript 切换

    我制作了一个 JavaScript 函数来隐藏单击按钮时的链接及其在该函数中的工作 但是当它
  • 在参数数组中传递整数数组

    我正在尝试在 pg promise 的参数数组中传递参数数组 如建议的那样pg promise 文档 https github com vitaly t pg promise wiki Learn by Example passing ar
  • C++奇怪的问题,未定义的引用

    出现错误 neljastest cpp 对 Vector2 Vector2 float float 的未定义引用 内尔贾斯特 cpp include
  • 注入 EntityManager 对比实体管理器工厂

    一个很长的问题 请耐心等待 我们正在使用 Spring JPA 来构建 Web 应用程序 我的团队正在争论注射问题EntityManagerFactory in the GenericDAO APPFUSE 提供的基于 Generics 的