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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM