MySQL에서 기본 키를 생성하는 전략
새로운 데이터 값을 insert 할 때 자동으로 키를 1씩 증가시켜준다.


UUID는 JAVA에서 자동으로 Unique한 ID를 생성해준다.
사용 예시는 아래와 같다.
@Entity
public class User {
@Id
@GeneratedValue
private UUID id;
private String email;
}
(Spring Boot 3.x + Hibernate 6.x 이상 권장)
이렇게 해서 생성된 UUID는 128비트의 고유한 값을 갖는다.
이렇게 해서 생성된 아이디의 예시는 아래와 같다.
CREATE TABLE users (
user_id CHAR(36) PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
nickname VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
Table 생성은 다음과 같이 CHAR 혹은 BINARY 타입으로 받아야한다.
이렇게 되면 user_id가 고유한 128비트 값을 갖게 되어 다중 DB환경에서 일관성을 유지할 수 있게 되고 url에서 user_id가 노출된다는 점도 해결할 수 있다.
참고:
https://wjdtn7823.tistory.com/59
https://ssdragon.tistory.com/162