這一小節說明一個時間實體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;//日期 }