package semtex.archery.entities.data.entities; import java.io.Serializable; import java.util.Date; import java.util.UUID; import semtex.archery.entities.data.dao.VisitDao; import com.j256.ormlite.dao.ForeignCollection; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.field.ForeignCollectionField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(daoClass = VisitDao.class, tableName = "visit") public class Visit implements Serializable { public static final String END_TIME = "end_time"; public static final String BEGIN_TIME = "begin_time"; @DatabaseField(generatedId = true) private UUID id = UUID.randomUUID(); @DatabaseField(columnName = BEGIN_TIME) private Date beginTime; @DatabaseField(columnName = END_TIME) private Date endTime; @DatabaseField(foreign = true) private Version version; @ForeignCollectionField(eager = true) private ForeignCollection<UserVisit> userVisit; public Visit() { } public Visit(final Date beginTime, final Version version) { this.beginTime = beginTime; this.version = version; } public UUID getId() { return id; } public void setId(final UUID id) { this.id = id; } public Date getBeginTime() { return beginTime; } public void setBeginTime(final Date beginTime) { this.beginTime = beginTime; } public Date getEndTime() { return endTime; } public void setEndTime(final Date endTime) { this.endTime = endTime; } public Version getVersion() { return version; } public void setVersion(final Version version) { this.version = version; } @Override public String toString() { return "Visit [id=" + id + ", beginTime=" + beginTime + ", endTime=" + endTime + "]"; } public ForeignCollection<UserVisit> getUserVisit() { return userVisit; } public void setUserVisit(final ForeignCollection<UserVisit> userVisit) { this.userVisit = userVisit; } }