Hibernate Native vs Hibernate JPA

 井然洞中别样天 发布于 2023-02-07 17:22

Hibernate网站说有一个原生的Hibernate API以及一个JPA的实现.Native API和JPA实现之间有什么区别?优点缺点?

我正在使用Spring MVC应用程序,使用Tomcat作为容器,使用MySQL进行持久化.我过去分别使用Doctrine和Entity for PHP和.NET,使用代码优先方法.我想有类似Java的东西.我是Spring的新手,从未使用过Hibernate.我的团队想使用ORM,而Hibernate似乎是最受欢迎的.我们不确定Hibernate将如何锻炼,或者我们是否应该使用原生或JPA api.该应用程序将是数据驱动,数据输入,报告等.

我已经读过,使用JPA可以更容易地切换到另一个JPA实现,虽然我不知道是否需要它.

1 个回答
  • JPA是通过面向对象的API访问关系数据库的标准.Hibernate是此API的一个实现.当你想使用JPA时,你需要一些供应商来实现它,Hibernate是一个不错的选择,但还有其他像EclipseLink.

    Hibernate的存在时间比JPA长.原生的旧API(JPA的模型)仍然存在,有时它提供的可能性比通过JPA暴露的更多(例如孤儿删除).如果您需要那些,您需要使用本机API.使用JPA有其他优点,最重要的(在我看来)更多的开发人员知道它.而你仍然可以通过配置使用一些Hibernate细节.

    一般而言,IMO支付使用标准API(此处为JPA),并对要使用的实现做出经验丰富的决定.

    大多数本地使用Hibernate的教程都很老 - 就像Hibernate 3一样,这是一个JPA之前的版本.虽然有充分的理由使用它,但它们(IMO)通常不适用于普通观众.所以如果你刚刚开始在这个领域学习,我建议从JPA开始.

    关于异地资源的建议:有充分的理由,这里不是主题.但是目前官方的Hibernate文档将是一个良好的开端,就像寻找至少Hibernate 4的动态一样.

    2023-02-07 17:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有