資料庫的字段類型有date、time、datetime
而Temporal注解的作用就是幫Java的Date類型進行格式化,一共有三種注解值:
第一種:@Temporal(TemporalType.DATE)——>實體類會封裝成日期“yyyy-MM-dd”的 Date類型。
第二種:@Temporal(TemporalType.TIME)——>實體類會封裝成時間“hh-MM-ss”的 Date類型。
第三種:@Temporal(TemporalType.TIMESTAMP)——>實體類會封裝成完整的時間“yyyy-MM-dd hh:MM:ss”的 Date類型。
@Temporal注解的定義:
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
public @interface Temporal {
/**
* The type used in mapping <code>java.util.Date</code> or <code>java.util.Calendar</code>.
*/
TemporalType value();
}
TemporalType枚舉類型定義:
package javax.persistence;
/**
* Type used to indicate a specific mapping of <code>java.util.Date</code>
* or <code>java.util.Calendar</code>.
*
* @since Java Persistence 1.0
*/
public enum TemporalType {
/**
* Map as <code>java.sql.Date</code>
*/
DATE,
/**
* Map as <code>java.sql.Time</code>
*/
TIME,
/**
* Map as <code>java.sql.Timestamp</code>
*/
TIMESTAMP
}
應用example:
注解方式有兩種:
寫在字段上:
@Temporal(TemporalType.TIMESTAMP)
private Date birthday;
寫在 getXxx方法上:
@Temporal(TemporalType.DATE)
@Column(name = "birthday", length = 10)
public Date getBirthday() {
return this.birthday;
}
資料庫的字段類型有date、time、datetime
而Temporal注解的作用就是幫Java的Date類型進行格式化,一共有三種注解值:
第一種:@Temporal(TemporalType.DATE)——>實體類會封裝成日期“yyyy-MM-dd”的 Date類型。
第二種:@Temporal(TemporalType.TIME)——>實體類會封裝成時間“hh-MM-ss”的 Date類型。
第三種:@Temporal(TemporalType.TIMESTAMP)——>實體類會封裝成完整的時間“yyyy-MM-dd hh:MM:ss”的 Date類型。
@Temporal注解的定義:
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
public @interface Temporal {
/**
* The type used in mapping <code>java.util.Date</code> or <code>java.util.Calendar</code>.
*/
TemporalType value();
}
TemporalType枚舉類型定義:
package javax.persistence;
/**
* Type used to indicate a specific mapping of <code>java.util.Date</code>
* or <code>java.util.Calendar</code>.
*
* @since Java Persistence 1.0
*/
public enum TemporalType {
/**
* Map as <code>java.sql.Date</code>
*/
DATE,
/**
* Map as <code>java.sql.Time</code>
*/
TIME,
/**
* Map as <code>java.sql.Timestamp</code>
*/
TIMESTAMP
}
應用example:
@Temporal(TemporalType.TIMESTAMP)
private Date birthday;
@Temporal(TemporalType.DATE)
@Column(name = "birthday", length = 10)
public Date getBirthday() {
return this.birthday;
}