zoukankan      html  css  js  c++  java
  • Java JPA设置默认值、Timestamp设置、自动获取时间

    设置默认值

    @Column(name="state",columnDefinition="tinyint default 0")
    private Integer state=0;
    

    columnDefinition在创建表的时候使用

    其他时候可以采用直接赋值的方式:

    private Integer state=0;
    

    Timestamp设置

    注解@org.hibernate.annotations.Generated来标识一个已生成属性

    @Column(name="CREATE_TIME",columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP",insertable = false,updatable = false)
    @Generated(GenerationTime.INSERT)
    private Timestamp createTime;
    

    GenerationTime的可用的设置选项是ALWAYSINSERT

    当使用ALWAYS的时候,Hibernate每次执行SQL UPADATE或者INSERT插入的时候就会刷新实体

    使用GenerationTime.INSERT,只会在SQL INSERT的时候出现,来获取数据库的默认值

    属性也应该标识为只读,只读属性使用注解@Columnupdatableinsertable来实现

    如果两个都设置了false,属性列表就用于不会在INSERT或者UPADATE语句中出现了,这些列的数值就由数据库来产生值

    @ColumnDefault属性注解,设置列表的默认属性,当hibernate导出和生成SQL schenma DDL的时候

    @Temporal注解来声明映射的SQL数据类型,如果使用了converter转换器之后,注解是不需要了

    @Column(columnDefinition="timestamp default current_timestamp comment '活动开始时间'")可以设置默认值、可以生成注释

    自动创建时间、修改时间

    1.实体类加注解

    /**
     * 创建时间
     */
    @CreatedDate
    @Column(name = "create_time")
    private Date createTime;
    
    /**
     * 修改时间
     */
    @LastModifiedDate
    @Column(name = "modify_time")
    private Date modifyTime;
    

    2.实体类头加注解

    @EntityListeners(AuditingEntityListener.class)
    

    3.SpringBoot启动类加注解

    @EnableJpaAuditing
    
  • 相关阅读:
    httpd.conf详细解释
    centos 6 编译安装php-5.4/5.5(lamp模式)
    apache的动态和静态
    Apache Prefork、Worker和Event三种MPM分析
    如何使用apache的 work模式还是 prefork 模式
    apache的扩展模块安装
    apache 启动脚本加入系统服务列表
    MYSQL5.5源码安装 linux下
    LAMP第一部分-环境搭建
    I2C驱动详解
  • 原文地址:https://www.cnblogs.com/gmhappy/p/11863984.html
Copyright © 2011-2022 走看看