spring boot3에서 JPA 쿼리 파라미터 설정

기존의 스프링부트 2.X를 사용할때 처럼 yml에 아래와 같이 적용하였는데, 로그에 파라미터 결과가 나오지 않았다. 스프링부트 버전의 문제이지 않을까 싶어서 구글링하였더니, spring boot3 버전이 올라가면서 hibernate의 버전도 같이 업그레이드 되었다고 한다. 그래서 해당 하이버네이트의 버전에 맞춰서 기존과 다르게 설정을 하여 한다고 했다. ...

2023년 4월 23일
·
0개의 댓글
·
post-thumbnail

맞춤형 DBeaver 셋팅

현재 사용중인 23.0.0.202303040621 버전에 맞춰 셋팅하겠다. 상단탭에서 [파일]-[설정]을 클릭 Global Settings를 클릭하면 환경설정 창이 나타나는데, 테이블명 축약어 자동완성 끄기 [편집기]-[SQL 자동완성]-가장 하단의 Insert table aliases의 설정을 N/A 로 변경한다. ![](https://velog.v...

2023년 4월 23일
·
0개의 댓글
·
post-thumbnail

Intellij Endpoints를 사용하여 개발 생산성 올리기

API 테스트를 위해 Swagger, Postman을 이용하는데, 인텔리제이와 왔다갔다 하면서 테스트 할때 불편하다. Intellij의 Endpoints를 사용하면 인텔리제이 하나로 간편하게 API 테스트까지 가능해진다. 1. 사용법 인텔리제이 하단의 EndPoints 탭을 클릭하면 해당 프로젝트의 모든 API를 조회할 수 있다. 하나를 클릭하면 우측...

2023년 4월 23일
·
0개의 댓글
·

JPA Access Strategy + Kotlin use-site target

직면했던 이슈 코틀린 @get 을 사용하여 entity를 구현하였는데, @GeneratedValue 앞에 붙이지 않아서 save() 시 id를 assign 해주지 않았다는 에러가 발생하였다. 그래서 @GeneratedValue 앞에 @get 을 선언해줌으로써 문제를 해결했는데, 정확한 이슈 발생이유와 해결방안이 이해가 가지 않았다. 코틀린의 @get 이...

2023년 4월 14일
·
0개의 댓글
·

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 요약본

엔티티 클래스 개발1,2 @Enumerated의 속성값 default는 EnumType.ORDINAL로 필드의 순서값이다.이는 순서가 변경될 경우, 이전 데이터의 정합성이 떨어지므로 EnumType.STRING으로 지정해서 사용하도록 하자 @OneToOne의 관계는 DB에서 어느쪽에 FK를 잡든 entity에서 동일하게 동작하고, 대신 FK를 entit...

2023년 4월 7일
·
0개의 댓글
·

AOP - @Around 어노테이션

Around 어노테이션을 검색해봤을 때, 단순히 개념적인 설명만 있고 어떤 케이스에 사용하는지 예시가 다양하지 않아 직접 정리해 보았다. 개념 @Around 는 ‘핵심관심사’의 실패여부와 상관없이 전 후로 실행되록 하는 Advice로, 아래와 같이 메서드를 생성할 때, return 값은 Object 이고, 인자는 ProceedingJoinPoint 이다....

2023년 3월 29일
·
0개의 댓글
·
post-thumbnail

request parameter 로깅 이슈 해결과정

진행중인 프로젝트에서 request로 파라미터를 보내는 경우, 아래의 3가지 케이스가 있다. [GET] queryString [POST] Multipart/form-data [POST] Application/json 보통 request의 parameter를 읽을 때, 아래의 두가지 메서드를 사용하는데, request.getParameterNames() r...

2023년 3월 29일
·
0개의 댓글
·

HttpServletRequest - InputStream 여러번 읽기

https://velog.io/@dayoung_sarah/content-type%EB%B3%84-request-body-%EC%9D%BD%EA%B8%B0 위 글을 작성하고, InputStream 을 두번 읽는 상황이 바로 나에게 발생하였다.... 나의 상황은 Filter에서 InputStream을 먼저 읽고 있었고, AOP 에서 request body를...

2023년 3월 28일
·
0개의 댓글
·

content type별 request body 읽기

HttpServletRequest의 파라미터를 읽기 위해, 아래와 같이 getParameterMap() 메서드를 사용하여 파라미터를 로그에 찍었다. getParameterMap() 그런데 contentType이 application/json인 경우, 로그에 찍히는게 없었다. 구글링을 해보니, request를 읽어들이는 방법은 아래와 같이 3가지가 존재...

2023년 3월 28일
·
0개의 댓글
·

AOP 적용 시 발생한 에러 - No thread-bound request found

No thread-bound request found

2023년 3월 27일
·
0개의 댓글
·
post-thumbnail

[백준] 2751번 수 정렬하기2(Java)

해결 정렬문제를 풀 때, Java에서 기본적으로 제공해주는 Arrays.sort()를 사용하였다. 해당 문제에서도 동일하게 Arrays.sort()를 사용하여 문제를 풀었는데, 소요시간이 아주 오래 걸렸다. 잘 하면 시간제한에 걸릴 것 같았다. Arrays.sort()는 dual-pivot Quicksort 알고리즘을 사용하여, 평균 시간복잡도가 O(...

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[알고리즘]Counting Sort (계수 정렬)

Counting Sort 특정 범위 내에서 각 요소의 발생 횟수를 카운트한 다음, 이 카운트 정보를 사용하여 정렬할 배열 내의 요소의 위치를 결정하는 선형 정렬 알고리즘 최대 값과 최소 값의 차이에 선형적이므로 , 범위가 크면 효율적이지 않을 수 있다. 큌 정렬(Quick Sort), 합병 정렬(Merge Sort)의 평균 시간복잡도는 O(nLogn)인데...

2023년 2월 2일
·
0개의 댓글
·

빌더 패턴(Builder) + @Build 어노테이션

빌더 패턴이란? > The builder pattern is used in software development to construct complex objects in a step-by-step manner, without having to specify the complex details of object creation in the main code...

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[백준] 4948번 베르트랑 공준 (JAVA)

해결 입력값은 최대 123456이지만, 문제내에서 구해야 할 범위는 입력값 두 배이다. 그래서 123456*2 까지의 소수를 구해야 한다. 소수 여부 배열을 생성 후, 각 인덱스마다 소수가 몇 개인지 저장하는 배열을 하나 더 생성해서, 해당 배열을 사용하여 소수의 개수를 구한다. > [참고] https://velog.io/@dayoung_sarah/알고...

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[백준] 1929번 소수 구하기

해결 M,N의 입력값은 1000000이하의 자연수이다. 대량의 소수를 구할때는 알고리즘 ‘에라토스테네스의 체’를 이용하면 효율적으로 구할 수 있다. > [참고] https://velog.io/@dayoung_sarah/알고리즘-에라토스테네의-체 코드

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[백준] 11653번 소인수분해 (JAVA)

해결 소인수분해는 소수인 인수로 분해하는 것을 말하며, 그렇기에 출력되는 소수의 범위는 입력값의 제곱근 이하로 볼 수 있다. ⇒ Math.sqrt() 이용하기 코드

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[백준] 2581번 소수 (JAVA)

해결 입력값의 범위는 10000이하로, 대량의 범위에서 소수를 구해야 할 경우 알고리즘 ‘에라토스테네스의 체’를 이용하면 효율적으로 구할 수 있다. > [참고] https://velog.io/@dayoung_sarah/알고리즘-에라토스테네의-체 코드

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[백준] 1978번 소수 찾기 (JAVA)

방법1. 일반적인 식 1, 본인 제외 한 수로 나눈 나머지가 모두 0이 아닌 경우 방법2. 알고리즘 ‘에라토스테네스의 체’ 이용 [참고] https://velog.io/@dayoung_sarah/알고리즘-에라토스테네의-체

2023년 1월 24일
·
0개의 댓글
·

[알고리즘] 에라토스테네의 체

특정 범위에서의 모든 소수를 찾을때 가장 효율적인 알고리즘 ⇒ 대량의 범위에서 소수를 찾을 때 가장 효율적인 방법인다. ⇒ 시간복잡도: O(N log long N) 예제) 2 ~ 120 까지의 모든 소수 찾기 https://blog.kakaocdn.net/dn/otLmE/btqG6HS7le2/KofCwMN7Et7RMkR0nykxM0/img.gif 과...

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[백준] 10757번 큰 수 A+B (JAVA)

주의할 점 A,B의 최대값을 보면 10의 10000승이다. long의 범위는 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 으로 long 보다 크기가 클 수 있다. long 보다 큰 범위를 가지는 숫자를 표현할 때는 BigInteger를 사용하면 된다. 코드

2023년 1월 19일
·
0개의 댓글
·