Spring data JPA 笔记
一、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 笔记相关推荐
- 【笔记】Spring - Spring Data JPA
相关 官方文档⭐️: https://docs.spring.io/spring-data/jpa/docs/2.6.0/reference/html/#preface 翻译: https://blo ...
- SpringBoot学习笔记:Spring Data Jpa的使用
更多请关注公众号 Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR ...
- hql实例 jpa_SpringBoot学习笔记九:Spring Data Jpa的使用
Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338,这些接口 ...
- Spring Boot文档阅读笔记-使用Spring Data JPA连接多源数据库(MySQL和Oracle)
下面这个小项目展示了如何连接2个数据库,一个是Oracle,一个是MySQL. 关键的Maven依赖: <dependency><groupId>org.springframe ...
- spring data jpa从入门到精通_程序员笔记:Spring Data JPA入门
什么是JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.它的出现主要是为了 ...
- springboot学习笔记(三)使用JDBC以及整合spring data jpa
spring boot JDBC的使用: 1.引入依赖 <dependency><groupId>mysql</groupId><artifactId> ...
- 【Spring Data JPA自学笔记五】一对多、多对多和级联
文章目录 数据库表的关系 一对多 多对多 Spring Data JPA实现一对多 基本配置 实现一对多 放弃维护权 Spring Data JPA实现多对多 基本配置 实现多对多 级联 之前的所有操 ...
- 【Spring Data JPA自学笔记二】初识Spring Data JPA
文章目录 Spring Data JPA是什么? Spring Data JPA的配置 配置pom.xml 配置applicationContext.xml Spring Data JPA的使用 Sp ...
- 【Spring Data JPA自学笔记三】Spring Data JPA的基础和高级查询方法
文章目录 调用接口的基础方法查询 Repository CrudRepository PagingAndSortingRepository JPARepository JpaSpecification ...
最新文章
- ubuntu系统下载编译android源码
- Java 8 Optional不仅用于替换空值
- 如何控制修改UIWebView中的UIScrollView
- LRGB一个带亮度值的颜色
- JS闭包中未使用的引用变量回收机制浅探
- 笔记本电脑开机键盘失效
- 指针(小破站-王道训练营P18的例题)
- [Shapenet V1数据集] obj格式转binvox格式文件出现全为0的错误
- 用Python打造一款智能语音聊天小软件!
- 实战第二步:如何做一份有针对性的竞品分析
- 微信语音java_java微信企业号开发之发送消息(文本、图片、语音)
- VS中fseek.cpp引发断点——将一个无效参数传递给了将无效参数视为严重错误的函数
- C语言中狐狸找兔子的问题
- 使用Labelimg打标签
- Graphviz安装向导及入门指南
- css动画效果 transform transition @keyframes animation 涉及jquery
- Ububtu16.04+GTX1070深度学习小钢炮
- Linux学习日记4——ftp、lftp、nfs
- AT+ESIMS :SIM卡不识或者掉卡简单分析
- 2020-10-22在线识图搜索引擎