package com.worktajm.domain; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.springframework.data.elasticsearch.annotations.Document; import javax.persistence.*; import javax.validation.constraints.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import java.util.Objects; /** * A Project. */ @Entity @Table(name = "project") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Document(indexName = "project") public class Project implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @NotNull @Column(name = "name", nullable = false) private String name; @Column(name = "description") private String description; @ManyToOne @JoinColumn(name = "user_id") private User user; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Project project = (Project) o; return Objects.equals(id, project.id); } @Override public int hashCode() { return Objects.hashCode(id); } @Override public String toString() { return "Project{" + "id=" + id + ", name='" + name + "'" + ", description='" + description + "'" + '}'; } }