• 《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常用注解一个表格都有。希望对您有帮助,感谢阅读

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

  • 相关阅读:
    11.10作业
    谷歌硬件工程师年薪165万,苹果外籍员工222万,在大厂打工“香”吗?
    Minecraft 1.12.2模组开发(五十五) 动画生物实体
    有哪些方法下载外文文献?
    Github 2024-04-03 C开源项目日报 Top10
    外汇天眼:想通过外汇交易在几个月内成为亿万富翁吗?你必须知道的七大交易法则
    iperf+natapp做4g模块网络带宽测试
    Tech Lead如何组建你的全明星团队
    产品求职:如何不打折扣的拿到期望的Offer
    微信小程序使用 scss
  • 原文地址:https://blog.csdn.net/weixin_47343544/article/details/127108657