본문 바로가기
반응형

spring20

[Spring] The bean 'delegatingApplicationListener' 에러 해결 방법 🚨 application run 시 발생한 에러 메시지*************************** APPLICATION FAILED TO START *************************** Description: The bean 'delegatingApplicationListener', defined in class path resource [hello/sns/configuration/AuthenticationConfig.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/security/config/annotation/w.. 2024. 5. 28.
[ Spring ] TransientPropertyValueException 에러 해결 방법 💥 application run 시 발생한 에러 메시지Error creating bean with name 'initDb': Invocation of init method failedCaused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : jpabook.jpashop.domain.OrderItem.item -> jpabook.jpashop.domain.item.ItemCaused by: org.hibernate.TransientP.. 2024. 5. 20.
[Spring] 검색 요청 JPQL에서 QueryDSL로 변경하기 프로젝트를 진행 중 기존 검색 요청을 JQPL에서 QueryDSL로 변경하기로 하였다. 변경 이유에 대해서 간략하게 설명드리겠습니다. 아래에 변경 전 코드를 추가해 두었지만, JPA(JPQL)에서는 컴파일 시 N.P를 막지 못한다는 단점이 존재합니다. 그래서 필드의 Null처리를 위해서 서비스 코드의 코드 양 자체가 많아 진다는 단점이 존재합니다. 만약에 검색 조건이 2개에서 1개가 추가된다고 가정해 보면 필요한 JPQL의 최대 개수는 7개가 됩니다. 그렇게 되면 필요한 쿼리 메서드만 7개가 되어버리고 서비스 코드에 절대적으로 7줄이 추가될 수밖에 없습니다. QueyrDSL을 사용하게 되면 기존의 SOLID를 위배하지 않는 선에서 서비스 코드의 코드 양 자체를 줄일 수 있게 됩니다. 변경 전 코드 Sea.. 2024. 4. 15.
[Spring] 검색 기능 Parameter에서 Body로 변경하기 프로젝트를 진행 중 기존 검색 요청은 Http의 parameter로 request를 보내는 방식으로 진행하였다. 하지만 프로젝트에서 검색 조건은 다음과 같다. 1. 기술 스택 검색 2. 직군.직무 검색 3. 기술 스택 & 직군.직무 검색 검색 입력값이 최대 2개 이상이 된다는 점에서 기존 parameter로 검색을 진행한다는 점이 프론트 분과의 소통에서 단점으로 다가왔다. 단점은 크게 2가지였다. 참고로 직군.직무의 경우는 String, 기술 스택의 경우에는 List으로 전달이 된다. 배열을 파라미터를 통해 JSON으로 보낼 경우에 프론트에서 파라미터로 변환하는 과정에서 처리해 줘야 하는 작업이 많아진다. URL 자체가 길어진다. 그러한 이유들로 기존 Http의 parameter로 request를 보내.. 2024. 4. 15.
반응형