• 【JPA】两种不同的实现jpa的配置方法



    两种不同的实现jpa的配置方法

    第一种:

    com.mchange.v2.c3p0.ComboPooledDataSource

    datasource.connection.driver_class=com.mysql.jdbc.Driver

    <!-- Where to find repositories -->
    <jpa:repositories base-package="org.springframework.data.jpa.example.repository.simple" />


    第二种:


    org.hibernate.ejb.HibernatePersistence

    <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>


    <!-- 配置Spring Data JPA扫描目录-->
    <jpa:repositories base-package="com.suntak.dao" transaction-manager-ref="transactionManager" entity-manager-factory-ref="entityManagerFactory" query-lookup-strategy="create-if-not-found"/>


    1.EJB3.0和JAP之间的关系
    EJB3.0是一份规范,该规范由不同的部分组成:
    第一部分为session bean和message-driven bean定义了新的编程模型,以及部署规则等等;
    第二部分专门定义了持久化相关的规范:实体,对象/关系映射元数据,持久化管理接口和查询语言。第二部分就是我们所说的JPA(Java Persistence API),之所以取名叫JPA,很有可能是因为持久化的接口位于javax.persistence.
    所以,JPA是EJB的一部分,是EJB专门为持久化定义的规范。

    2.Hibernate和EJB3.0之间的关系
    首先你必须要了解的是,一个规范和一个产品是没有太多可比较性的,EJB3.0是java服务器端组件模型的一份规范,而hibernate是一个具体的产品,所以准确的提问应该是:hibernate实现了EJB3.0的规范吗?

    正如EJB3.0的规范划分成了不同的部分一样,EJB的实现者也有区分,有些产品完全实现了EJB3.0的规范,而有些产品只是实现了EJB3.0的一部分,比如仅实现了Java Persistence部分。
    Hibernate就是这样的产品,它实现了Java Persistence那部分规范,不仅如此,而且它还提供了一些Java Persistence规范里面没有的一些功能。所以也可以说,JPA规范所对应的功能是hibernate的子集。

    3.如何判断你使用的功能是JPA描述的还是hibernate自己特有的呢?
    一个简单的方式就是检查你引入的包,如果你只使用了javax.persistence.*,那么你使用的功能是通用的JPA提供的,如果你的代码里还引入了org.hibernate.*,那么你就使用了hibernate专有的功能。

    4.实现JPA的不仅仅只有Hibernate EntityManager,还有TopLink,OpenJPA.

    5.JPA已经作为一项对象持久化的标准,不但可以获得Java EE应用服务器的支持,还可以直接在Java SE中使用。开发者将无需在现有多种ORM框架中艰难地选择,按照Sun的预想,现有ORM框架头顶的光环将渐渐暗淡,不再具有以往的吸引力。

  • 相关阅读:
    修改 jenkins 主目录
    pom中Maven插件 配置 maven-dependency-plugin maven-surefire-plugin
    Oracle解决ora-01653 无法通过1024扩展
    windows 定时备份linux 上oracle 数据库
    oracle drop 表后 恢复
    jenkins 安装
    关于RedHat Linux无法使用yum命令安装gcc-c++问题
    eolinker 安装时遇到的坑
    mysql linux安装教程
    JWT ajax java spingmvc 简洁教程
  • 原文地址:https://www.cnblogs.com/viewcozy/p/4721878.html
Copyright © 2020-2023  润新知