gpt4 book ai didi

java - 当我导入 JPA 注释并仅使用单个 hibernate 属性时,我是否在用例中使用 JPA 或 Hibernate?

转载 作者:行者123 更新时间:2023-12-02 01:11:13 25 4
gpt4 key购买 nike

我可以在 stackoverflow 中看到类似的问题,但他引用的示例完全不同,并且给出了与相同问题相关的答案。

在我们的项目中我有 JPA 注释

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.CollectionTable;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

在 Persistance.xml 中我也有 hibernate 属性:

<persistence-unit name="IntegratorMasterdataDS" transaction-type="JTA" >
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- <jta-data-source>java:/datasources/Ifs9ErgointDS1</jta-data-source> -->
<jta-data-source>java:/datasources/IfsDS</jta-data-source>
<properties>
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>

@PersistenceContext(unitName = "IntegratorMasterdataDS")
protected EntityManager em;
em.persist
em.save
em.flush
em.find
em.merge

我在 Wildfly 中部署,它使用 Hibernate 作为 JPA 实现。

当我被问到您使用的是 JPA 还是 Hibernate 时,我应该回答什么?

根据目前的理解,如果我们在代码或 persistance.xml 中使用单个 Hibernate 属性,那么我们可以说我们正在使用 Hibernate,因为它使项目依赖于 hibernate。这样理解好吗?

如果没有,那么我还应该在项目中添加什么来表明我正在使用 hibernate?

最佳答案

The Java Persistence API (JPA) is a Java specification for accessing, persisting, and managing data between Java objects/classes and a relational database

而 hibernate 是 JPA 的具体实现。

打个比方,将 JPA 视为一个接口(interface),将 hibernate 视为其具体实现之一。因此,您可以说您正在使用 JPA 的 hibernate 实现。

查看 this link 以了解 JPA 的其他实现。

关于java - 当我导入 JPA 注释并仅使用单个 hibernate 属性时,我是否在用例中使用 JPA 或 Hibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59367433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com