JPA 基础(一)之概述与版本

JPA 概述
  • Java Persistence API(Java 持久层 API):用于对象持久化的 API
  • 作用:使得应用程序以统一的方式访问持久层
    在这里插入图片描述(最下面是数据库)
  • JPA 与 Hibernate 的什么关系:
    1)JPA 是 一个标准的接口
    2)Hibernate 是 JPA 的一个实现
  • Hibernate 是如何实现与 JPA 的关系的?
    通过 hibernate-annotation、hibernate-entitymanager 和 hibernate-core 三个组件来实现
  • JPA 包括三个方面的技术:
    1)ORM JavaBean 和数据库中的数据表建立映射关系,支持 XM 和注解两种形式
    2)JPA 的 API
    3)查询语言:JPQL,jpql 其原型就是 hibernate 的 hql
    一般在实际开发中,优先考虑使用 JPA 注解,这样更有利于程序的移植和扩展
JPA 版本
  • JPA 2.0 - 此版本于 2009 年下半年发布。以下是此版本的重要功能: -
    • 它支持验证。
    • 它扩展了对象关系映射的功能。
    • 它共享缓存支持的对象。
  • JPA 2.1 - JPA 2.1 于 2013 年发布,具有以下特性: -
    • 它允许提取对象。
    • 它为条件更新/删除提供支持。
    • 它生成模式。
  • JPA 2.2 - JPA 2.2 在 2017 年作为维护开发而发布。它的一些重要特性是:
    • 它支持 Java 8 的日期和时间。
    • 它提供了@Repeatable 注释,当想要将相同的注释应用到声明或类型用法时可以使用它。
    • 它允许 JPA 注释在元注释中使用。
    • 它提供了流式查询结果的功能,就能实现分批次查询,避免一次返回数据过大导致OOM,什么是 OOM?程序申请内存过大,虚拟机无法满足我们,然后自了。

更多JPA示例项目创建或注解知识以及API可点击此处

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JPA(Java Persistence API)和MyBatis是两种在Java中用于数据持久化的框架,它们有以下几个主要区别: 1. ORM vs SQL映射:JPA是一个ORM(对象关系映射)框架,它通过将Java对象映射到数据库表格来实现数据持久化。它提供了一组注解和API,使开发人员可以直接操作Java对象,而无需编写SQL语句。相反,MyBatis是一个SQL映射框架,它允许开发人员编写自定义的SQL语句,并通过将结果映射到Java对象来实现数据持久化。 2. 查询语言:JPA使用JPQL(Java Persistence Query Language)作为其查询语言,它是一种面向对象的查询语言,类似于SQL。JPQL允许开发人员通过操作对象属性而不是表和列来查询数据。MyBatis则使用原生的SQL语句作为查询语言,开发人员可以完全控制SQL的编写和执行过程。 3. 自动化 vs 手动化:JPA框架提供了自动化的数据库操作,包括自动生成数据库表格、自动创建和更新表结构等。开发人员只需要定义实体类和注解,框架会自动处理数据库操作。而MyBatis则需要开发人员手动编写SQL语句和映射文件,更加灵活但也需要更多的手动操作。 4. 社区和文档支持:JPA是Java EE的一部分,具有广泛的社区支持和文档资源。许多Java开发人员都熟悉JPA,并且可以找到大量的教程和示例。MyBatis也有一定的社区支持,但相对来说可能没有JPA那么广泛。 选择使用JPA还是MyBatis取决于具体的项目需求和个人偏好。如果你更喜欢面向对象的查询语言和自动化的数据库操作,那么JPA可能是一个不错的选择。如果你对SQL有更高的控制需求,并且更喜欢手动编写和优化SQL语句,那么MyBatis可能更适合你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值