Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.linksinnovation.elearning.model; import com.fasterxml.jackson.annotation.JsonBackReference; import java.util.Date; import java.util.Objects; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.PrePersist; import javax.persistence.Temporal; import javax.persistence.TemporalType; /** * * @author Jirawong Wongdokpuang <jirawong@linksinnovation.com> */ @Entity public class Reply { @Id @GeneratedValue private Long id; @Column(length = 4000) private String message; @Temporal(TemporalType.TIMESTAMP) private Date createDate; @JsonBackReference @ManyToOne private Topic topic; @OneToOne private UserDetails user; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Topic getTopic() { return topic; } public void setTopic(Topic topic) { this.topic = topic; } public UserDetails getUser() { return user; } public void setUser(UserDetails user) { this.user = user; } @PrePersist public void prePersist() { this.setCreateDate(new Date()); } @Override public int hashCode() { int hash = 3; hash = 41 * hash + Objects.hashCode(this.id); return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Reply other = (Reply) obj; if (!Objects.equals(this.id, other.id)) { return false; } return true; } }