본문 바로가기

springboot5

[JPA] 특정 Table의 원소 개수 가져오기 crudRepository를 확장하는 repository (JpaRepository, MongoRepository 등)을 사용하고 있으며, 해당 repository가 매핑하는 table에 포함된 record 개수를 가져오고 싶을 때는 `count()` 메소드를 사용하면 된다. ... long userCount = userRepository.count(); ... 해당 인터페이스를 통해 나가는 쿼리는 통상적으로 record 개수를 찾을 때 이용하는 select count(*) 쿼리가 나가며, 실행 시간에는 거의 영향을 주지 않는 수준이다. 10만개의 Entity에 대해서 평균적으로 94ms 정도의 시간이 걸린다. 여기서도 신기했던 게, 동시에 날아간 4개의 쿼리는 94ms의 시간이 걸렸지만, 뒤늦게 혼자 .. 2022. 10. 17.
[Spring-data-mongo] Mongo Entity 목록 식별하기 Jpa를 사용하는 대부분의 RDB들에 매핑되는 Entity의 정보를 식별하기 쉽다. 단지 EntityManager의 MetaModel을 호출하고, 해당 모델에서 Entity들의 정보를 가져오기만 하면 된다. 반면 MongoDB에 매핑되는, @Document 어노테이션이 붙은 Entity들의 정보를 식별하기 위해서는 MongoMappingContext를 사용해 getPersistentEntities() 메소드를 사용함으로써 MongoPersistentEntity들의 정보를 가져올 수 있다. ... private final MongoMappingContext mmc; ... Collection> mongoEntityList = new HashSet(mmc.getPersistentEntities()); ..... 2022. 10. 8.
[DB Migrator] 테스트주도개발 시작하기 2022.09.21 - [Spring/DB Migrator] - [DB Migrator] SpringBoot 동적으로 MongoRepository 생성 및 등록하기 [DB Migrator] SpringBoot 동적으로 MongoRepository 생성 및 등록하기 2022.09.20 - [Spring/DB Migrator] - [DB Migrator] SpringBoot 동적으로 JpaRepository 생성 및 등록하기 [DB Migrator] SpringBoot 동적으로 JpaRepository 생성 및 등록하기 설명은 싸다(?) 코드를 보여줘라 h.. taler.tistory.com 이전 글의 말미에서 앞으로의 프로젝트 로드맵을 언급했다. 다시 가져와보자면 아래와 같다. 작업 분산 로직 구성하기 테.. 2022. 10. 3.
Failed to load driver class org.postgresql.Driver in either of HikariConfig class loader or Thread context classloader 에러 잘 돌아가던 DB 설정이 갑자기 안돌아갔다. 기존의 잘돌아가던 코드에 변경을 준 것은 아니라는 점을 토대로 버전에 변경이 생겼나 살펴봤다. 우선 에러 전문: Caused by: java.lang.RuntimeException: Failed to load driver class org.postgresql.Driver in either of HikariConfig class loader or Thread context classloader 간단히 요점을 말하자면 build 파일이 깨져서 발생한 문제였다. 근거는 build.gradle에 따로 버전을 명시하지 않았다는 점 (지원하지 않는 버전일 확률이 낮다.), rebuild를 수행한 이력이 없는 점(이 또한 갑자기 버전이 꼬일 리 없음을 의미한다)이 있었다... 2022. 10. 2.
성균 sw coaching 프로그램 소개 이것 역시 방학동안 학과에서 지원해준 코칭 프로그램이다. 현업에 계신 개발자분들, 특히 실리콘밸리 쪽에 계신 분들을 학과에서 컨택하여 학생들로 하여금 코칭받을 수 있는 기회를 제공해준다. 지금까지는 firebase와 같은 크게 구미가 당기는 주제는 아니었다. 하지만 올해 2022년, 우아한 형제들의 6년차 시니어 개발자분을 섭외에 성공했고 주제 또한 Spring framework 관련으로 진행한다는 말에 바로 신청했다. 지원 과정은 간단했다. 미리 제공된 구글폼으로 신청서를 내고, 며칠 지나지 않아 멘토님께 과제 관련 메일을 받았다. 사실 과제는 spring을 이용해 기본 페이지를 띄워달라는 요청 뿐이었는데, 나중에 알고보니 내 예상과는 다르게 프로그램을 신청한 사람이 딱 5명이라 심사에 의미가 없었다고.. 2022. 7. 15.