package com.worktajm.domain; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import java.time.ZonedDateTime; import org.springframework.data.elasticsearch.annotations.Document; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import java.util.Objects; /** * A TimeEntry. */ @Entity @Table(name = "time_entry") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Document(indexName = "timeentry") public class TimeEntry implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "start_time") private ZonedDateTime startTime; @Column(name = "end_time") private ZonedDateTime endTime; @Column(name = "comment") private String comment; @ManyToOne @JoinColumn(name = "user_id") private User user; @ManyToOne @JoinColumn(name = "project_id") private Project project; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public ZonedDateTime getStartTime() { return startTime; } public void setStartTime(ZonedDateTime startTime) { this.startTime = startTime; } public ZonedDateTime getEndTime() { return endTime; } public void setEndTime(ZonedDateTime endTime) { this.endTime = endTime; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Project getProject() { return project; } public void setProject(Project project) { this.project = project; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } TimeEntry timeEntry = (TimeEntry) o; return Objects.equals(id, timeEntry.id); } @Override public int hashCode() { return Objects.hashCode(id); } @Override public String toString() { return "TimeEntry{" + "id=" + id + ", startTime='" + startTime + "'" + ", endTime='" + endTime + "'" + ", comment='" + comment + "'" + '}'; } }