본문 바로가기
개발일지_development diary/YSit

YSit [17] - ID값을 숫자가 아닌 UUID로 바꿔주기

by YES_developNewbie 2023. 1. 12.

기존에는 @GeneratedValue 어노테이션을 ID값에 달아줘서 DB에 auto_increment 설정을 해줘서 Long값으로 설정을 해주었다. 하지만 최근에는 UUID를 이용하는 것이 유행한다고 해서 바꿔주기로 했다.

 

먼저 Id의 데이터 타입을 String으로 받아준다. 그 후에 Builder에서 설정하는 ID값이 없다면 UUID를 담고 있게 했다.

UUID는 JAVA에서 UUID를 생성해주는 라이브러리를 이용해 전달한다. 그래서 UUID.randomUUID()를 호출한 후 String값으로 캐스팅해주면 된다.

@Builder
public User (String id, String name, String loginId, String loginPw, SchoolCategory schoolCategory, LocalDateTime regDate) {
    if (id == null || id.isEmpty()) id = String.valueOf(UUID.randomUUID());
    this.id = id;
    this.name = name;
    this.loginId = loginId;
    this.loginPw = loginPw;
    this.schoolCategory = schoolCategory;
    this.regDate = regDate;
}