這一小節說明一個時間實體Temporal實體,它的代碼很簡單。
package org.cryptocoinpartners.schema; import java.util.Date; import javax.persistence.Basic; import javax.persistence.MappedSuperclass; import javax.persistence.Transient; import org.hibernate.annotations.Type; import org.joda.time.Instant; /** * @author Tim Olson */
//這個標注說明這個類也是一個基類,不會在數據庫中創建表
@MappedSuperclass
public class Temporal extends EntityBase {
public Temporal(Instant time) {
super();
this.time = time;
this.dateTime = time.toDate();
this.timestamp = time.getMillis();
}
/** For Events, this is the time the Event itself occured, not the time we received the Event. It should be remote
* server time if available, and local time if the object was created locally */
/@/Type注解用於說明類型
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentInstantAsMillisLong")
@Basic(optional = false)
public Instant getTime() {
return time;
}
//這個注解用於說明該字段不會存儲到數據庫中
@Transient
public Date getDateTime() {
return dateTime;
}
@Transient
public long getTimestamp() {
return timestamp;
}
// JPA
protected Temporal() {
}
protected void setTime(Instant time) {
this.time = time;
this.dateTime = time.toDate();
this.timestamp = time.getMillis();
}
protected Instant time;//時間
private long timestamp;//時間截
private Date dateTime;//日期
}