JPA를 꾸준히 이용하며 학습중인데 이번에 테이블 연관관계를 설정하다가 복합키테이블을 연관지을일이 생겼다. 내 머리속으로 이해한데로 엔티티를 구성하고 테스트 쿼리를 수행했으나... 조인들이 제대로 걸리지 않았다. 그래서 무언가 복합키 상황일때 엔티티간 연관관계를 잘못 구성했는가 싶어 예제 테이블 만들어 다시 처음부터 구성해봤다. 테이블 구조는 아래와 같다. 사용자 정보가 있는 Users 테이블이 있고 권한정보가 있는 Roles 테이블이 있다. 그리고 유저에게 할당된 권한정보가 있는 UserRoles 테이블이 있다. UserRoles는 Users의 키와 Roles의 키를 포함하는 식별관계이다. UserRoles 엔티티의 키값이 2개가 되어 일반 엔티티를 구성할 수 없다. 이런 복합키를 가진 엔티티를 구성하..
지난번 이클립스(STS)와 인텔리제이에서 QueryDSL Q클래스를 생성해서 잘 동작하는 것을 확인했었다. [SpringBoot] QueryDSL Q클래스 생성하기 : annotationProcessor 방식 (feat.intelliJ) [SpringBoot] QueryDSL Q클래스 생성하기(feat.intelliJ) 지난번 STS (이클립스) 에서 QueryDSL을 설정했었다. [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅 jong-bae.tistory.com 프로젝트를 전체 구동시킬때는 querydsl 이 동작하는데는 ..
JPA를 사용하면서 show-sql 과 format_sql 옵션으로 쿼리 로그를 사용하고 있는데 프로젝트 중 mybatis 도 일부 사용하고 있어 여기도 쿼리로그를 남기기위해 어떻게 할까 고민하던 중 p6spy 쿼리로깅을 찾게 되었다. 찾아보니까 아래와 같이 3가지 방법으로 설정할 수 있었다. # Datasource 방식 / URL연결 방식 implementation 'p6spy:p6spy:3.9.1' # SpringBoot 자동설정 방식 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1' URL 연결 방식은 예전에 쿼리 로깅을 적용했던 log4jdbc 와 비슷한 구조로 설정할 수 있다. spring: datasource: ..
지난번 STS (이클립스) 에서 QueryDSL을 설정했었다. [SpringBoot] QueryDSL Q클래스 생성하기 : 플러그인 방식 (feat.STS) [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅해봄. SPRING DATA JPA 레퍼런스에 queryDSL이 언급은 되는데 설정하는 방법 같은 건 딱히 없어서 블로그들 참고하여 셋팅해봄. 먼저 build. jong-bae.tistory.com 이번에 인텔리J로 같은 프로젝트 import 해서 진행하다보니 gradle 설정을 약간 조정해줘야 했다. 그래서 간단히 그 부분만 작성하도록 한다. 위 링크에 있는 이클립스 설정대로 IntelliJ 에..
Spring Security 적용 시 설정한 api-docs URL 기본으로 안나오는 현상 해결 어제 springdoc 으로 swagger 간단하게 만들어 테스트해봤고 프로젝트 중인 패키지에도 적용을 해봤는데 테스트 했던 것과는 다르게 springdoc.api-docs.path (springdoc.swagger-ui.url) 대로 동작하지 않았다. 자꾸 swagger 디폴트 페이지가 먼저 뜸 ( https://petstore.swagger.io/v2/swagger.json ) 내가 설정한 /api-docs 라는 url 로 검색해야 나오는 상황... 그래서 디폴트 페이지를 아예 안나오게 옵션을 추가해봤더니 springdoc: swagger-ui: disable-swagger-default-url: true..
엄청 오래전엔 javadoc 으로 Export 해서 문서로 봤거나 직접 api 문서를 작성해서 전달하거나 했었던 시절이 있었다. 지금 당장은 api docs 가 필요하진 않은데 프로젝트 말미에 api 연동부 문서들이 필요해질 것 같아 미리 학습겸 셋팅해보려고 한다. Springdoc 이랑 Spring Rest Docs 둘중에 뭘로 할까 하다가 각자의 장단점이 있고 Spring Rest Docs 가 더 이점이 있어보이긴 했으나, 지금 당장 필요한 단계가 아니기 때문에 (사실 테스트모듈도 없음) swagger를 사용해서 간단히 보여주고 셋팅 해보려고 한다. gradle 설정. implementation 'org.springdoc:springdoc-openapi-ui:1.6.14' application 설정...