Java JPA設定デフォルト、Timestamp設定、自動取得時間
4148 ワード
デフォルトの設定
columnDefinitionテーブルの作成時に使用
他の場合は、直接値を割り当てる方法を採用できます.
Timestamp設定
注記
属性も読み取り専用として識別されるべきであり、読み取り専用属性は注釈
両方に
自動作成時間、変更時間
1.エンティティークラス注記
2.ソリッドクラスヘッダ注記
3.SpringBoot起動クラス注記
@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