設置默認值
@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
的可用的設置選項是ALWAYS
和INSERT
當使用ALWAYS
的時候,Hibernate每次執行SQL UPADATE
或者INSERT
插入的時候就會刷新實體
使用GenerationTime.INSERT
,只會在SQL INSERT
的時候出現,來獲取數據庫的默認值
屬性也應該標識為只讀,只讀屬性使用注解@Column
的updatable
和insertable
來實現
如果兩個都設置了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