UserDetails 엔티티

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Builder
@Entity
@Table(name = "UserDetails")
public class UserDetails {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private String no;            // UserDetails 고유 번호

    private int userPoint;        // 사용자의 보유 포인트

    @Column(name = "`rank`")
    private String rank;          // 회원 등급 (FAMILY, SILVER, GOLD, VIP, VVIP 등)

    private String gender;        // 성별 정보 (남, 여 등)

    private String content;       // 추가 회원 정보 (소개글 등)

    @OneToOne
    @JoinColumn(name="uid")
    private User user;            // 연관된 User 엔티티 (1:1 매핑)

    @PrePersist
    public void prePersist() {
        // 회원 정보 저장 직전에 content가 비어 있으면 기본값 설정
        if (this.content == null) {
            this.content = "없음";
        }
        // 회원 정보 저장 직전에 rank가 비어 있으면 기본 등급 설정
        if (this.rank == null) {
            this.rank = "FAMILY";
        }
    }
}

설명