Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java sun jdk附带的jpa实现是什么_Java_Hibernate_Jpa - Fatal编程技术网

Java sun jdk附带的jpa实现是什么

Java sun jdk附带的jpa实现是什么,java,hibernate,jpa,Java,Hibernate,Jpa,请回答一些问题: Sun JDK附带的JPA实现是什么(例如7) 如果我的应用程序运行在应用程序服务器上(例如JBoss,我知道它使用Hibernate实现),那么实际的实现是什么呢?是JDK还是Hibernate JPA不是一个实现,只是一个接口。Hibernate是一个JPA实现。问题是,如果您将代码耦合到JPA,而不是直接使用Hibernate,那么您可以用(值得怀疑的)更少的工作转移到另一个JPA实现 因此,1)据我所知,JDK没有附带JPA实现,2)您将使用hibernate,但请考虑

请回答一些问题:

  • Sun JDK附带的JPA实现是什么(例如7)
  • 如果我的应用程序运行在应用程序服务器上(例如JBoss,我知道它使用Hibernate实现),那么实际的实现是什么呢?是JDK还是Hibernate

  • JPA不是一个实现,只是一个接口。Hibernate是一个JPA实现。问题是,如果您将代码耦合到JPA,而不是直接使用Hibernate,那么您可以用(值得怀疑的)更少的工作转移到另一个JPA实现

    因此,1)据我所知,JDK没有附带JPA实现,2)您将使用hibernate,但请考虑上面关于耦合的评论

    看看这个相关的问题,以澄清什么是JPA以及什么是可用的JPA实现:。

    不是一个实现,而是一个规范或接口

    Hibernate是一个JPA提供者

    JPA是一种用于访问、持久化和管理Java对象与关系数据库之间数据的规范。正如定义中所说的API,它只是规范。该API没有实现。JPA为开发遵循标准的接口指定了一套规则和指南。直截了当地说:JPA只是实现对象关系映射(ORM)的指导原则,没有实现的底层代码。其中,Hibernate是JPA指南的实际实现。当hibernate实现JPA规范时,JPA小组将在遵循规范中提到的所有标准后对此进行认证。例如,JPA指南将提供作为JPA实施一部分实施的强制性和可选功能的信息

    要回答第二个问题,您可以选择使用哪种ORM工具。

    1)JDK既不提供JPA,也不提供任何特定的JPA提供商

    2) 如果在JBoss上运行应用程序,默认情况下将使用Hibernate(它是JBoss模块)。当然,您可以使用您想要的任何JPA提供程序(通过在
    persistence.xml
    中指定它并部署提供程序实现JAR)