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 忽略大小写

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值