[ERROR] java.lang.IllegalStateException: No primary or default constructor found for interface org.springframework.data.domain.Pageable
오류 내용 java.lang.IllegalStateException: No primary or default constructor found for interface org.springframework.data.domain.Pageable 해결 방안 이 오류는 Spring MVC 에서 Pageable 에 대한 파라미터 리졸버를 찾을 수 없어서 발생한다. 해결 방법은 두 가지인데 WebMvcConfigurationSupport 를 사용하고 있다면, WebMvcConfigurer 로 변경한다. addArgumentResolver 와 같은 Handler 를 오버라이딩을 한 후, PageableHandlerMethodArgumentResolver 를 추가한다.
2022.05.23
no image
[ERROR] cannot find symbol method builder()
오류 내용 > Task :cleanTest > Task :compileJava > Task :processResources UP-TO-DATE > Task :classes > Task :compileTestJava FAILED /SomethingProject/Someclass.java:31: error: cannot find symbol User user = userRepository.save(User.builder() ^ 해결 방안 보통 Intellij 와 IDE 에서 Spring Boot 프로젝트를 만들다보면 build.gradle 에 아래와 같이 의존성이 설정되어 있는 경우가 있다. compileOnly 'org.projectlombok:lombok' compileOnly 로 하게 되면 컴파일 시점..
2022.04.17
no image
[Spring] JPA 에서 Oracle DB 사용할 때 DB 함수 사용하기
JPAExpressions 와 SQLExpressions 를 섞어서 사용할 수 없기 때문에 사용자가 수동으로 함수를 등록해주어야 한다. (대소문자는 상관없다) 이는 QueryDSL 에서도 적용이 되는데, 먼저 DB 설정에서 Adapter 를 설정해줄 때 아래와 같이 코드를 입력해주고, EntityManagerFactory 에서 사용하도록 해준다. ... @Bean public JpaVendorAdapter dbJpaVendorAdapter() { HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter(); adapter.setDatabasePlatform("kr.pe.karsei.configs.DbDialect"); // Dialect 연결 ..
2022.04.04
no image
[Spring] JPA 와 Mybatis 동시 사용 시 Connection Deadlock 벗어나기
PHP 에서 Java 로 작업을 진행하면서 기존에 작성했던 Query 문을 사용해야 할 필요가 생었겼다. 근데 한번에 효율적으로 데이터들을 불러오려고 작성된 Query 를 사용하려다보니 우선은 Query 문의 길이가 길었고, DBMS 의 고유 기능을 사용한 것이 많았다. 사내에서 작성된 Query 들을 되돌아보니 DB 테이블들이 상당히 많아 복합적으로 Join 을 하거나 서브쿼리가 많이 존재했고, Oracle 의 START WITH ... CONNECT BY ... 처럼 특수 기능을 사용하고 있거나, LOB 관련 함수 등 그저 JPA 만으로는 분명 해결하기 까다로운 이슈들이 있다고 생각했다. 난이도도 있고 QueryDSL 를 사용한다고 해도 다른 사람들이 유지보수를 할 때 과연 잘 할 수 있을까? 하는 ..
2022.04.04