현재 연차프로젝트를 진행하고 있는 중인데 사번을 넣기가 애매했다. 사번은 중복되지 않은 값을 넣어야 하기 때문에 static으로 변수 하나를 선언하고 할까도 고민했었는데 이 방식은 무리가 있었다. 만약 서버를 내리게 된다면??....
그렇다 다시 숫자가 처음부터 중복된다. 이러한 점은 서버가 들때 select를 하는 방법도 있지만 회원가입 로직이 실행될때 max값으로 조회하는 방법을 찾아보고 싶어 한 번 시도해봤는데 개인적으로 Querydsl에 편리함을 한번 더 느끼는 계기가 된 것 같다.
이런식으로 실행하면 member 테이블에 employeeNumber가 가장 큰 값을 뽑아올 수 있다. 여기서도 애초에 PK 중복을 피하기 위해 select를 한번 하면 해결할 수 있다는 생각과 AUTO_INCREMENT 모두 생각해봤지만 JPA 쓰는 입장에서 그렇게 다는 것보다 안정적으로 시도해보고 싶었다. 그리고 PK중복 피하는 방법은 애초에 프론트에서 중복체크를 위해 select를 한 번 먼저 해야하기 때문에 그 방법은 바로 패스했다. 어쨌든 이렇게 시도하면
이런 쿼리가 실행되고
USER 인스턴스가 가장 큰 값을 가지고 있는데 테스트가 성공하는 걸 알 수 있다.
'JPA' 카테고리의 다른 글
JPA - fetchJoin, Inner join (0) | 2023.03.03 |
---|---|
Redis - 개념 및 Spring에서 사용 (1) | 2023.01.25 |
JPA - JPQL ORDER BY (0) | 2023.01.17 |
JPA - 연관관계 Insert Query 줄이기 (0) | 2022.12.19 |