package com.estate.expert.admin.domain.common; import com.estate.expert.admin.domain.common.option.IOptionVo; import com.estate.expert.admin.domain.user.User; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; //@EntityListeners(value = {AuditingEntityListener.class}) @Getter @Setter @MappedSuperclass public class EntityBase implements IOptionVo { /** * 主键 */ @Id @Access(AccessType.PROPERTY) @GeneratedValue(strategy = GenerationType.IDENTITY) protected Integer id; /** * 名称 */ @Column(unique = true, nullable = false) private String name; /* * 是否已删除 */ @Column(nullable = false) private boolean deleted; /** * 创建者 */ @ManyToOne @JoinColumn(name = "creator_id") protected User creator; /** * 创建时间 */ // @CreatedDate @Column(nullable = false) protected LocalDateTime createTime; /** * 更新时间 */ // @LastModifiedDate @Column(nullable = false) protected LocalDateTime updateTime; @JsonIgnore public String getInfo() { return null; } @JsonIgnore @Override public String getOptionCode() { return String.valueOf(id); } @JsonIgnore @Override public String getOptionName() { return String.valueOf(name); } }