一、spring data jpa 常用注解

1.  @Entity  :标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表

2.  @Table  :设置实体类在数据库所对应的表名

3.  @Id  :标识类里所在变量为主键

4.  @GeneratedValue  :设置主键生成策略,此方式依赖于具体的数据库

5.  @Basic  :表示简单属性到数据库表字段的映射(几乎不用)

6.  @Column  :表示属性所对应字段名进行个性化设置

7.  @Transient  :表示属性并非数据库表字段的映射,ORM框架将忽略该属性

8.  @Temporal  :

  当我们使用到java.util包中的时间日期类型,则需要此注释来说明转化成java.util包中的类型。

  注入数据库的类型有三种:

    TemporalType.DATE(2008-08-08)

    TemporalType.TIME(20:00:00)

    TemporalType.TIMESTAMP(2008-08-08 20:00:00.000000001)

9.  @Enumerated  :

  使用此注解映射枚举字段,以String类型存入数据库

  注入数据库的类型有两种:EnumType.ORDINAL(Interger)、EnumType.STRING(String)

10.  @Embedded  、  @Embeddable  :

  当一个实体类要在多个不同的实体类中进行使用,而其不需要生成数据库表

  @Embeddable:注解在类上,表示此类是可以被其他类嵌套

  @Embedded:注解在属性上,表示嵌套被@Embeddable注解的同类型类

11.  @ElementCollection  :集合映射

12.  @CreatedDate  、  @CreatedBy  、  @LastModifiedDate  、  @LastModifiedBy  :

  表示字段为创建时间字段(insert自动设置)、创建用户字段(insert自动设置)、最后修改时间字段(update自定设置)、最后修改用户字段(update自定设置)

13.  @MappedSuperclass  :

  实现将实体类的多个属性分别封装到不同的非实体类中

  注解的类将不是完整的实体类,不会映射到数据库表,但其属性将映射到子类的数据库字段
  注解的类不能再标注@Entity或@Table注解,也无需实现序列化接口

  注解的类继承另一个实体类 或 标注@MappedSuperclass类,他可使用@AttributeOverride 或 @AttributeOverrides注解重定义其父类属性映射到数据库表中字段。

二、Repository 接口常用命名规范

用 JPA 离不开 @Entity 实体,我都知道实体里面有字段映射,而字段映射的方法有两种:

显式命名:在映射配置时,设置的数据库表名、列名等,就是进行显式命名,即通过 @Column 注解配置。
隐式命名:显式命名一般不是必要的,所以可以选择当不设置名称,这时就交由 Hibernate 进行隐式命名,另外隐式命名还包括那些不能进行显式命名的数据库标识符,即不加 @Column 注解时的默认映射规则。

1、基于方法名称命名规则查询
2、基于@Query 注解查询
方法名称命名规则查询
语法格式:
规则:findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写)

And 并且
Or 或
Is,Equals 等于
Between 两者之间
LessThan 小于
LessThanEqual 小于等于
GreaterThan 大于
GreaterThanEqual 大于等于
After 之后(时间)>
Before 之前(时间)<
IsNull 等于Null
IsNotNull,NotNull 不等于Null
Like 模糊查询。查询件中需要自己加%
NotLike 不在模糊范围内。查询件中需要自己加%
StartingWith 以某开头
EndingWith 以某结束
Containing 包含某
OrderBy 排序
Not 不等于
In 某范围内
NotIn 某范围外
TRUE 真
FALSE 假
IgnoreCase 忽略大小写

Spring data JPA 笔记相关推荐

  1. 【笔记】Spring - Spring Data JPA

    相关 官方文档⭐️: https://docs.spring.io/spring-data/jpa/docs/2.6.0/reference/html/#preface 翻译: https://blo ...

  2. SpringBoot学习笔记:Spring Data Jpa的使用

    更多请关注公众号 Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR ...

  3. hql实例 jpa_SpringBoot学习笔记九:Spring Data Jpa的使用

    Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338,这些接口 ...

  4. Spring Boot文档阅读笔记-使用Spring Data JPA连接多源数据库(MySQL和Oracle)

    下面这个小项目展示了如何连接2个数据库,一个是Oracle,一个是MySQL. 关键的Maven依赖: <dependency><groupId>org.springframe ...

  5. spring data jpa从入门到精通_程序员笔记:Spring Data JPA入门

    什么是JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.它的出现主要是为了 ...

  6. springboot学习笔记(三)使用JDBC以及整合spring data jpa

    spring boot JDBC的使用: 1.引入依赖 <dependency><groupId>mysql</groupId><artifactId> ...

  7. 【Spring Data JPA自学笔记五】一对多、多对多和级联

    文章目录 数据库表的关系 一对多 多对多 Spring Data JPA实现一对多 基本配置 实现一对多 放弃维护权 Spring Data JPA实现多对多 基本配置 实现多对多 级联 之前的所有操 ...

  8. 【Spring Data JPA自学笔记二】初识Spring Data JPA

    文章目录 Spring Data JPA是什么? Spring Data JPA的配置 配置pom.xml 配置applicationContext.xml Spring Data JPA的使用 Sp ...

  9. 【Spring Data JPA自学笔记三】Spring Data JPA的基础和高级查询方法

    文章目录 调用接口的基础方法查询 Repository CrudRepository PagingAndSortingRepository JPARepository JpaSpecification ...

最新文章

  1. ubuntu系统下载编译android源码
  2. Java 8 Optional不仅用于替换空值
  3. 如何控制修改UIWebView中的UIScrollView
  4. LRGB一个带亮度值的颜色
  5. JS闭包中未使用的引用变量回收机制浅探
  6. 笔记本电脑开机键盘失效
  7. 指针(小破站-王道训练营P18的例题)
  8. [Shapenet V1数据集] obj格式转binvox格式文件出现全为0的错误
  9. 用Python打造一款智能语音聊天小软件!
  10. 实战第二步:如何做一份有针对性的竞品分析
  11. 微信语音java_java微信企业号开发之发送消息(文本、图片、语音)
  12. VS中fseek.cpp引发断点——将一个无效参数传递给了将无效参数视为严重错误的函数
  13. C语言中狐狸找兔子的问题
  14. 使用Labelimg打标签
  15. Graphviz安装向导及入门指南
  16. css动画效果 transform transition @keyframes animation 涉及jquery
  17. Ububtu16.04+GTX1070深度学习小钢炮
  18. Linux学习日记4——ftp、lftp、nfs
  19. AT+ESIMS :SIM卡不识或者掉卡简单分析
  20. 2020-10-22在线识图搜索引擎

热门文章

  1. Android音视频开发,详说PCM音频重采样、PCM编码
  2. 漫步数理统计三十——依概率收敛
  3. hw1-浅谈Dota2设计元素
  4. Python Pexpect 模块使用说明
  5. 36、54、72的最大公约数怎么求
  6. 同源策略的限制,没有同源策略会怎么样?
  7. 云服务器搭建GitLab
  8. 计算机网络(一):网络层次划分
  9. 【Android】更改程序图标
  10. matlab计算绝对值的导数,如何用matlab求带绝对值函数的导数? 你值得一看的技巧...