Java JPA設定デフォルト、Timestamp設定、自動取得時間

4148 ワード

デフォルトの設定
@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でのみデータベースのデフォルト値が取得されます.
属性も読み取り専用として識別されるべきであり、読み取り専用属性は注釈@Columnupdatableおよびinsertableを用いて実現される.
両方にfalseが設定されている場合、プロパティ・リストは、INSERTまたはUPADATE文に表示されないように使用されます.これらのカラムの値はデータベースによって生成されます.@ColumnDefault属性注記、リストのデフォルト属性を設定し、hibernateSQL 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