-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BSVR-103] 야구 팀(구단) 등록 & 조회 API #24
Conversation
private boolean isNullOrBlank(String str) { | ||
return str == null || str.isBlank(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요거 여기저기서 많이 쓸 것 같아서, 나중에 StringUtils 같은 유틸 클래스로 뽑으려고!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JPA에서 Auto Increment ID 방식을 사용할 때 bulk insert가 불가능하다는 문제를 보완하기 위해 JDBC template 이용했어~
단점) string으로 raw query를 그대로 작성하기 때문에, 쿼리에 문제가 있다면 런타임 중 에러가 발생할 수 있음. 테스트 필수!
@Override | ||
public boolean existsByNameIn(List<String> names) { | ||
return baseballTeamJpaRepository.existsByNameIn(names); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in 쿼리를 사용해서 bulk insert 중 중복 구단명이 하나라도 있다면 예외를 반환하게 처리했어.
[ 참고! ]
mysql에서 in 쿼리는 인자 수가 엄청나게 많아지면 인덱스를 타지 못한다는 성능 이슈가 있어.
우리 서비스에서 등록하는 구단 수는 10개고, 구단 등록 API는 어드민 API라서 위 성능 이슈가 운영 환경에서 발생하진 않을거라고 생각해! 하지만 이슈 인지하고 있는게 좋을 것 같아서 레퍼런스 첨부해둘게~
📌 개요 (필수)
🔨 작업 사항 (필수)
🌱 연관 내용 (선택)
💻 실행 화면 (필수)
생성 후 조회 API call 결과