JAP基础

JAP的简单了解


JAP与Hibernate与ORM的关系
1.JPA的由来
(1)ORM框架能够将java对象映射到关系型数据库中,能够直接持久化复杂的Java对象.ROM的出现,可以让开发者从数据库编程中解脱出来,把更大的精力放在业务模型于业务逻辑上,目前比较流行的ORM框架有"Mybatis",“Hibernate”,“TopLink”,"JDO"等

2.JAP是什么
(1)JPA (Java Persistence API)是Sun官方提出的Java 持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理 Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在 Hibernate、TopLink、JDO等ORM框架各自为
营的局面。值得注意的是,JPA 是在充分吸收了现有的 Hibernate、Toplink、JDO等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。从目前的开发社区的反应上看,JPA 受到
了极大的支持和赞扬,其中就包括了Spring与EJB3.0 的开发团队。
注意:JPA 是一套规范,不是一套产品,那么像 Hibernate Toplink、JDO 它们是一套产品,如果说这些产品实现了这个JPA规范,那么我们就可以称他们为JPA的实现产品。

3.Spring Dtaa JAP
Spring Data 是 Spring的一个子项目,用于简化数据库访问,包括NoSQL非关系型数据库,另外还包括对关系型数据库的访问支持。Spring Data使我们可以快速简单地使用普通的数据访问技术及新的数据访问技术,Spring Data会让数据的访问变得更加方便。Spring Data JPA 是 Spring基于 ORM框架、JPA规范的基础上封装的一套JPA应用框架,可以让开发者用极筒的代码即可实现对数据的访问和操作。它提供了包括增、删、改、查等在内的常用功能,且易于扩展,学习并使用 Spring Data JPA 可以极大提高开发效率。Spring Data JPA其实就是Spring 基于 Hibernate 之上构建的JPA 使用解决方案,方便在 Spring Boot 项目中使用JPA技术。Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它实现。

4.Spring Data JPA 的注解

@Entity    声明类为实体或表。
@Table    声明表名。
@Basic    指定非约束明确的各个字段。
-@Embedded-    -指定类或它的值是一个可嵌入的类的实例的实体的属性。
@Id    指定的类的属性,用于识别(一个表中的主键)。
-@GeneratedValue-    - 指定如何标识属性可以被初始化,例如自动、手动、或从序列表中获得的值。
@Transient    指定的属性,它是不持久的,即:该值永远不会存储在数据库中。
-@Column-    -指定持久属性栏属性。
@SequenceGenerator    指定在@GeneratedValue注解中指定的属性的值。它创建了一个序列。
@TableGenerator    指定在@GeneratedValue批注指定属性的值发生器。
@AccessType    这种类型的注释用于设置访问类型。如果设置@AccessType(FIELD),则可以直接访问变量并且不需要getter和setter,但必须为public。如果设置@AccessType(PROPERTY),通过getter和setter方法访问Entity的变量。
@JoinColumn    指定一个实体组织或实体的集合。这是用在多对一和一对多关联
@UniqueConstraint    指定的字段和用于主要或辅助表的唯一约束。
@ColumnResult    参考使用select子句的SQL查询中的列名。
@ManyToMany    定义了连接表之间的多对多一对多的关系。
@ManyToOne    定义了连接表之间的多对一的关系。
@OneToMany    定义了连接表之间存在一个一对多的关系。
@OneToOne    定义了连接表之间有一个一对一的关系。
@NamedQueries    指定命名查询的列表。
@NamedQuery    指定使用静态名称的查询。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot JPA是一个用于简化开发Java应用程序的框架,它结合了Spring Boot和JPA(Java Persistence API)技术。Spring Data JPA是Spring提供的一个用于简化JPA操作的模块。 在一个示例项目中,使用了Spring Boot 2.1.6版本和MySQL 8数据库。这个项目中,可以使用原生SQL来进行查询操作。在Spring Boot JPA框架下,有两种方式可以使用原生SQL。 第一种方式是使用@Query注解,在注解中编写原生SQL查询语句。例如,可以使用以下的方式来查询sys_permission表的数据: @Query(value = "SELECT t1.pid, t1.permission_name,t1.permission,t1.url, t2.role_id FROM sys_permission t1 LEFT JOIN sys_role_permission t2 ON t2.role_id=?1 AND t2.permission_id=t1.pid WHERE t1.available=TRUE",nativeQuery = true) List<Map<String,Object>> findAllPermissionRelaRid(String rid); 这个查询语句使用了原生SQL,并返回一个包含Map对象的列表,每个Map对象包含了查询结果的字段和值。 第二种方式是使用EntityManager对象的createNativeQuery方法来执行原生SQL查询。这个方法可以直接执行原生SQL,并返回查询结果。这种方式适用于复杂动态生成的原生SQL查询。 在使用Spring Boot创建项目时,可以选择一系列依赖项,包括web依赖。根据您的需求,您可以选择适当的依赖项来满足项目的要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [spring boot + spring data jap的的一次示例项目](https://blog.csdn.net/weixin_42070148/article/details/94617816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [SpringBoot jap使用原生Sql的几种姿势](https://blog.csdn.net/zhuweifeng/article/details/113643439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值