当前位置: 首页 > 面试题库 >

使用Hibernate EntityManager(相对于Hibernate Core)有什么缺点吗?

西门梓
2023-03-14
问题内容

Hibernate
EntityManager文档指出:

您可以结合使用这三种方式,而没有JPA编程接口和生命周期的注释,甚至纯本地的Hibernate
Core,取决于项目的业务和技术需求。您可以随时使用Hibernate本机API,或者根据需要甚至使用本机JDBC和SQL。

使用JPA API(EntityManager)的代码显然更具可移植性(即使偶尔回退到Hibernate Core)。

但是使用纯Hibernate Core时我有什么优势吗?我想知道,JPA 2模型是否真的适合Hibernate
Core且没有任何矛盾?IOW,回退到Core总是容易且没有问题吗?

我主要关心的是:

也许差异不仅在于API,还在于底层 语义
。(例如,可能发生冲突的不同事务/版本/锁定语义:Core文档中提到了悲观锁定,而EntityManager文档中没有提到过-
因此我仍然可以使用悲观锁定而回退到Core而不会引起问题吗? )


问题答案:

但是使用纯Hibernate Core时我有什么优势吗?

如果JPA 2.0支持您所需要的东西,那么我认为直接使用Hibernate Core没有任何优势(并且与JPA
2.0相比,差距变得越来越小,这使得需要回退到Core作为例外而不是常规,这是非常重要的)好东西)。

我想知道,JPA 2模型是否真的适合Hibernate Core且没有任何矛盾?

从JPA 1.0开始,Hibernate开发人员就在创建Hibernate3时就牢记“
JPA”,并在Hibernate3中采用了JPA语义,默认值等。您可能想在以下技术讲座中收听Gavin
:Hibernate3和EJB3上的Gavin
King:

在本技术演讲中,King讨论 了Hibernate3如何在EJB3上构建和扩展 ,并讨论了以下主题:

  • Hibernate3的新功能
  • Hibernate3和JBoss中的EJB3容器之间的关系
  • Hibernate3与EJB3规范的不同之处
  • Hibernate的定制注释可在EJB外部使用
  • Hibernate的未来

而且,根据我的实际经验,Hibernate与EJB 3并不矛盾。

IOW,回退到Core总是容易且没有问题吗?

无论您是否直接使用Core,您 都在
使用它(EntityManager包裹着Session)。因此,是的,如果确实需要,可以很容易地退回到Core(例如,对于规范中仍然没有的示例,例如“按示例查询”)。而且,不,这不会引起任何问题(因为您实际上在JPA中使用它或其一部分)。



 类似资料:
  • 对于任何与用R处理数据相关的东西,我最近一直认为tidyverse被推荐为几乎是必不可少的。这就提出了一个问题--如果这就是它被大肆宣传的那样,还有什么理由不使用它吗?例如,tidyverse中的框架是否有任何值得提及的限制性?

  • 本文向大家介绍innerHTML有什么缺点?相关面试题,主要包含被问及innerHTML有什么缺点?时的应答技巧和注意事项,需要的朋友参考一下 不能像“追加到innerhtml”一样使用; 整个innerhtml内容被重新解析并构建成元素,因此它的速度要慢得多; innerhtml不提供验证,因此我们可能会在文档中插入有效的和破坏性的html。

  • 本文向大家介绍redux有什么缺点相关面试题,主要包含被问及redux有什么缺点时的应答技巧和注意事项,需要的朋友参考一下 1.一个组件所需要的数据,必须甶父组件传过来,而不能像flux中直接从store取。 2.当一个组件相关数据更新吋,即使父组件不需要用到这个组件,父组件还是会重新render,可能会 有效率影响,或者需要写复杂的shouldComponentUpdate进行判断。 一百六十、

  • 本文向大家介绍iframe是什么?有什么缺点?相关面试题,主要包含被问及iframe是什么?有什么缺点?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 定义:iframe元素会创建包含另一个文档的内联框架 提示:可以将提示文字放在之间,来提示某些不支持iframe的浏览器 缺点: 会阻塞主页面的onload事件 搜索引擎无法解读这种页面,不利于SEO iframe和主页面共享连接池,而浏览

  • 在我以前的网站上,我曾经使用cookie来显示一个预主页,只有在第一次访问时。这很有效(例如,请参见此处),但是现在使用cookie并不流行,所以我想尽量避免使用cookie。 现在,我的新网站项目几乎总是通过javascript启动pre-home(显示一个modalbox),所以我不需要在服务器端执行任何操作。我正在考虑使用HTML5的localStorage而不是Cookie,如果浏览器没有

  • 在我盲目地打开这些选项之前,我想知道我能期待什么。此外,由于-ofast打开了非标准兼容标志,我倾向于不使用它。我对-ofast很可能有“副作用”的假设是正确的吗? 在发布这个问题之前,我浏览了https://gcc.gnu.org/onlinedocs/gcc/optimize-options.html。