package com.sparta.memo.entity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
// JPA에서 사용하는 엔티티 클래스임을 나타내는 어노테이션
@Entity
// Lombok 라이브러리를 사용하여 Getter 메서드들을 자동 생성
@Getter
// Lombok 라이브러리를 사용하여 Setter 메서드들을 자동 생성
@Setter
// Lombok 라이브러리를 사용하여 기본 생성자를 자동 생성
@NoArgsConstructor
// 데이터베이스의 테이블 이름을 "user"로 지정
@Table(name = "user")
public class User {
// 해당 필드를 데이터베이스 테이블의 기본 키(PK)로 사용
@Id
// 해당 필드의 컬럼 속성을 지정, nullable은 컬럼이 비어있을 수 없다는 것을 의미하며, unique는 컬럼의 값이 유일해야 함을 나타냄
@Column(nullable = false, unique = true)
private String username;
// 해당 필드의 컬럼 속성을 지정, nullable은 컬럼이 비어있을 수 없다는 것을 의미
@Column(nullable = false)
private String password;
// 사용자 지정 생성자: username과 password를 인자로 받아 초기화
public User(String username, String password) {
this.username = username;
this.password = password;
}
}