Spring Data JPA常用注解

  • @Entity:标识这是一个JPA实体类,告诉JPA在程序运行的时候记得生成这个实体类所对应的表
  • @Table:自定义设置这个实体类在数据库所对应的表名
属性 说明
name 自定义的表名
  • @ID:设置为主键Id

  • @GeneratedValue:设置主键的生成策略,依赖于具体的数据库
    主键的生成策略详情:https://blog.csdn.net/lhg1714538808/article/details/105035492.

  • @Basic:表示一个简单的属性到数据库表的字段的映射

属性 说明
fetch FetchType.EAGER 主动抓取
fetch FetchType.LAZY 延迟加载
  • @Column:对字段名进行一些个性化的设置
属性 说明
name 字段名
length 字段长度
nullable 可否为空
unique 是否唯一
columnDefinition 该字段的类型和长度
  • @Transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性

映射的注解说明:

  • @OneToMany:建立一对多的关系映射
属性 说明
targetEntityClass 指定多的多方的类的字节码
mappedBy 指定从表实体类中引用主表对象的名称
cascade 指定要使用的级联操作
fetch 指定是否采用延迟加载
orphanRemoval 是否使用孤儿删除

cascade:配置级联操作

说明
CascadeType.MERGE 级联更新
CascadeType.PERSIST 级联保存
CascadeType.REFRESH 级联刷新
CascadeType.REMOVE 级联删除
CascadeType.ALL 包含所有
  • @ManyToOne:建立多对一的关系
属性 说明
targetEntityClass 指定一的一方实体类字节码
cascade 指定要使用的级联操作
fetch 指定是否采用延迟加载
optional 关联是否可选。如果设置为false,则必须始终存在非空关系
  • @JoinColumn:用于定义主键字段和外键字段的对应关系
属性 说明
name 指定外键字段的名称
referencedColumnName 指定引用主表的主键字段名称
unique 是否唯一。默认值不唯一
nullable 是否允许为空。默认值允许
insertable 是否允许插入。默认值允许
updatable 是否允许更新。默认值允许
columnDefinition 列的定义信息
  • @ManyToMany:用于映射多对多关系
属性 说明
cascade 配置级联操作
fetch 配置是否采用延迟加载
targetEntity 配置目标的实体类。映射多对多的时候不用写
  • @JoinTable:针对中间表的配置
属性 说明
nam 配置中间表的名称
joinColumns 中间表的外键字段关联当前实体类所对应表的主键字段
inverseJoinColumn 中间表的外键字段关联对方表的主键字段
  • @JoinColumn:用于定义主键字段和外键字段的对应关系
属性 说明
nam 配置级联操作
referencedColumnName 指定引用主表的主键字段名称
unique 是否唯一。默认值不唯一
nullable 是否允许为空。默认值允许
insertable 是否允许插入。默认值允许
updatable 是否允许更新。默认值允许
columnDefinition 列的定义信息
发布了12 篇原创文章 · 获赞 3 · 访问量 2324

猜你喜欢

转载自blog.csdn.net/lhg1714538808/article/details/105021323