使用 Hibernate 与实体 bean 有什么优势,反之亦然?
我可以清楚地看到 Hibernate 与 JDBC 的优势,但是当我在面试中被问到这个时,我跌跌撞撞。
从 ejb3 开始,没有实体 bean 的概念,它被重新定义为 JPA。JPA 是一个规范,它可以使用任何 ORM 框架作为底层持久化机制,如 Hibernate、OpenJPA、Toplink。
在 JPA 规范之后,ORM 框架应该遵守 JPA 规范。它也包括休眠。
Hibernate 或 JPA 可以在独立应用程序中使用,即它不需要部署任何容器。它可以在独立环境中访问。
谢谢
实体 bean 表示持久存储机制中的业务对象。业务对象的一些示例是客户、订单和产品。在 Application Server 中,持久存储机制是一个关系数据库。
因此,Entity Beans 使用 Java Persistence ( JPA ) 注释 java 类进行注释。Hibernate 又是 JPA Spec 的实现。
在我看来,使用 JPA Spec 比使用 Hibernate 有一个优势。这使您能够将实现切换到 Toplink、Eclipselink 或任何其他实现 od JPA 规范。