[JPA Error] Either use @Param on all parameters except Pageable and Sort typed once, or none at all
·
Server/Error
문제 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'recommendRestController' defined in file [\controller\RecommendRestController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'recommendService' defined in file [\service\RecommendService.class]: Unsatisfied dependency expressed through const..
[JPA Error] jakarta.persistence.TransactionRequiredException: Executing an update/delete query
·
Server/Error
문제 프로젝트를 진행하며 엔티티 수정 로직을 구현하던 도중 다음과 같은 에러가 발생했다. jakarta.persistence.TransactionRequiredException: Executing an update/delete query 에러가 발생한 로직 Service public RecommendModifyResponse modifyPost(String userEmail, Long recommendNo, RecommendModifyRequest request) { // 글을 작성하는 Member 확인 Member member = validateGetMemberInfoByUserEmail(userEmail); // 수정 글 확인 Recommend recommend = validateGetRecommen..
[Swagger Error] Spring boot 3.0.x 이상 springdoc-openapi Swagger 화면이 로드되지 않을 때.
·
Server/Error
다음과 같이 swagger-ui에 접속은 되는데, 내용들이 불러와지지 않고 하얀 화면만 보이는 증상이 발생했다. Spring Security 경로도 열어줬고, 설정도 다 했는데 왜 안될까 고민하며 F5만 누르다가 혹시 몰라 F12를 눌러 콘솔을 찾아봤다. 다음 사진을 보면 /swagger-ui/ 다음으로 하위 경로에 있는 .css, .js 파일들이 로드되지 못하고 있는 것을 알 수 있었다. 기존 Security Config에서 Swagger의 경로 지정을 아래와 같이 지정했었는데 private final String[] SWAGGER = {"/v3/api-docs", "/swagger-ui", "/swagger-ui/index.html"}; 하위 경로까지 모두 허용하는 코드로 변경했다. private f..
[Spring Boot] SpringBoot 3.0.x 이상에서 Swagger 사용
·
Server/Spring&Spring Boot
Java 17, Spring Boot 3.0.x 이상은 도대체 무슨 격동이 일어난 것일까.. 기존에 사용하던 세팅이 지원이 안 되는 경우가 많다. Swagger 역시 springfox로 설정하여 접속하게 되면 403 에러가 발생하면서 접속 자체가 막혀버리는 현상이 일어났다. 스택오버플로우를 찾아보니 springfox-boot-start 3.0.0, springdoc-openapi-ui 1.6.13 등이 아직 spring boot 3.0을 지원하지 않고 있는 것 같다. 우리가 사용할 수 있는 방법은 springdoc-openapi-starter-webmvc-ui 사용하는 방법이었다 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-..
[Swagger Error] java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present
·
Server/Error
Swagger를 추가하고 난 후, 새로운 새로운 예외가 발생하기 시작했다. java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present stackoverflow를 찾아보니 Spring Boot 3.0은 JavaEE가 아닌 Java 17 및 JakartaEE용으로 빌드되었고, 현재 JakartaEE를 지원하는 SpringFox 릴리즈가 존재하지 않기 때문에 생기는 오류라고 한다. 해결 방법으로는 javax.servlet에 관한 의존성을 추가하면 된다. Gradle implementation 'javax.servlet:javax.servlet-api:4.0.1' Maven javax.servlet javax...
[Spring Boot] Spring Security 6.0 Configuration.
·
Server/Spring&Spring Boot
새로운 프로젝트를 시작하면서 Spring Boot 3.0.1, Java 17을 사용하게 되었다. 기존 Spring Boot. 2.7.x 버전에서 사용하던 Spring Security 설정을 그대로 복사 붙여 넣기를 했더니 @deprecated된 명령어도 있고, 아예 사라진(변경된) 명령어가 존재하여 새로운 버전에 맞춰 코드를 수정하였다. 기존 Security 설정 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { private final UserService userService; @Value("${jwt.secret}") private String secretKey; @Bean public Se..
[Spring Boot Error] Spring boot 3.0.0 이상, Java 17 미만 gradle build error
·
Server/Error
팀프로젝트를 위해 깃랩 레파지토리에서 프로젝트를 pull 한 상황인데, 다음과 같은 에러가 발생했다. Java 17 미만의 버전을 사용할 경우 해당 에러가 발생한다는 것을 알고 있었기 때문에 프로젝트 설정에 들어가서 Java 17 버전을 선택하였다. 하지만 여전히 Java 11로 되어있다고 에러가 발생하면서 빌드가 되지 않았다. 다시 Settigs -> gradle 부분에서 Java 11로 되어 있는 부분을 발견하고 해당 부분을 변경한 후 Java 17 버전을 찾아 선택한 후 다시 그래들 빌드를 시켜주었다. 성공!
[JPA] HibernateException: A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance @OneToMany 문제
·
Server/Error
예외 발생 현황 Post를 삭제했을 때, Comment와 Like가 함께 삭제될 수 있도록 Post Entity에 Comment와 Like를 @OneToMany를 사용하여 cascade, orphanRemoval을 사용하여 엮었다. Post Entity @AllArgsConstructor @NoArgsConstructor @Getter @Builder @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) @Entity @SQLDelete(sql = "UPDATE post SET deleted_at = current_timestamp WHERE id = ?") @Where(clause = "deleted_at is null") public cl..
코드플리
'Server' 카테고리의 글 목록 (11 Page)