• 《SpringBoot篇》11.JPA常用注解只需一个表


    陈老老老板
    说明:工作了,学习一些新的技术栈,边学习边总结,各位一起加油。需要注意的地方都标红了,还有资源的分享. 一起加油。

    JPA常用注解一个表格让你全知道

    (1.)说明: 只有开启了EntityListeners,才能生效@CreatedBy、@CreatedDate 、@LastModifiedBy 、@LastModifiedDate。

    注解作用常用属性实例
    @Entity指当前实体类,必不可少
    @Table当实体类与其映射的数据库表名不同名时需要使用name:用于指明数据库的表名。
    uniqueConstraints: 用来批量命名唯一键
    @Table(name = “tab_user”)
    @Table(name = “tab_user”,uniqueConstraints = {@UniqueConstraint(columnNames={“uid”,“email”})})
    @Column当实体的属性与其映射的数据库表的列不同名时name:用于设置映射数据库表的列名。
    unique:表示该字段是否为唯一标识,默认为false。
    length:表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符。
    @Column(name = “ID” , unique = true, length = 20)
    @Id标注用于声明一个实体类的属性映射为数据库的主键列@Id
    @IdClass实体类定义联合主键@IdClass注解的使用,出现多个@Id使用@IdClass(Message.class)
    @Id private Long userid
    @Id private Long messageid
    @GeneratedValue为一个实体生成一个唯一标识的主键strategy :指定主键生成策略
    generator:选择主键别名
    @GeneratedValue(strategy = GenerationType.IDENTITY,generator = “JDBC”)\
    @EntityListeners在实体类增删改的时候监听,为创建人/创建时间等基础字段赋值value:指定监听类@EntityListeners(user.class)
    @CreatedBy自动插入创建人
    @CreatedDate自动插入创建时间
    @LastModifiedBy自动修改更新人
    @LastModifiedDate自动修改更细时间
    @Version自动更新版本号
    @JsonFormat插入/修改/读取的时间转换成想要的格式pattern:展示格式
    timezone:国际时间
    @JsonFormat(pattert = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT +10”)
    @SequenceGenerator搭配@GeneratedValue使用。mysql不支持。指定数据库序列别名sequenceName:数据库序列名
    name:取的别名
    @SequenceGenerator(name = “ID_S”,sequenceName = “SEQ_BDF2_USER”)
    @Query当使用自定义JPQL时使用
    @Transactional开启事务与@Modifying连用,在实现增删改时候使用
    @Modifying提示 JPA 该操作是修改操作

    补充(@GeneratedValue的strategy属性):
    IDENTITY:采用数据库 ID自增长的方式来自增主键字段,Oracle 不支持这种方式;(SqlServer 对应 )

    AUTO: JPA自动选择合适的策略,是默认选项;(MySQL 对应)

    SEQUENCE:通过序列产生主键,通过 @SequenceGenerator 注解指定序列名,MySql 不支持这种方式

    TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

    总结:JPA常用注解一个表格都有。希望对您有帮助,感谢阅读

    结束语:裸体一旦成为艺术,便是最圣洁的。道德一旦沦为虚伪,便是最下流的。
    勇敢去做你认为正确的事,不要被世俗的流言蜚语所困扰。

  • 相关阅读:
    Spring的xml配置和Java配置
    【图像去噪】基于matlab偏微分方程PDE图像去噪【含Matlab源码 1890期】
    TCP如何实现可靠传输、流量控制、拥塞控制
    排序——选择排序、归并排序
    Web学习笔记-Vue3(环境配置、概念、整体布局设计)
    渗透测试-apt攻击与防御系列-利用WinRAR跨目录获取Net-NTLM Hash和DLL劫持
    使用三丰云免费主机搭建zerotier网络
    SSM - Springboot - MyBatis-Plus 全栈体系(二十五)
    简化javabean开发-->Lombok
    ElementUI入门到入土
  • 原文地址:https://blog.csdn.net/weixin_47343544/article/details/127108657