package org.ros.chatto.model; import java.util.Date; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityListeners; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; @Entity @Table(name = "users") @EntityListeners(AuditingEntityListener.class) @JsonIgnoreProperties(value = { "password" }, allowGetters = false) @Data @AllArgsConstructor @NoArgsConstructor public class ChatUser { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") private int userID; @Column(name = "name") private String userName; String password; @Temporal(TemporalType.TIMESTAMP) private Date joinDate; @ToString.Exclude @EqualsAndHashCode.Exclude @OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH }) @JsonBackReference private Set userRoles; // @ToString.Exclude // @EqualsAndHashCode.Exclude // @OneToMany(mappedBy = "fromUser", cascade = { CascadeType.PERSIST, // CascadeType.MERGE, CascadeType.DETACH, // CascadeType.REFRESH }) // private List chatMessages; }