본문 바로가기
728x90
반응형

Java6

[JPQL] 일부 컬럼 값만 가져올 때 주의사항 Interface Projection TL; DL 스프링 부트 1.5 와 스프링 부트 2.7 에서의 결과 값 매핑 방식이 다르다. 스프링 부트 1.5 순서대로 매핑 => 컬럼 순서와 메서드 선언 순서가 맞아야 함. 스프링 부트 2.7 컬럼명 매핑 => 컬럼명과 메서드명 규칙이 맞아야 함. 스프링 부트 1.5 @Repository public interface MemberRepository extends JpaRepository { @Query("SELECT m.username, m.name FROM MEMBER m") List findAll(); } 위와 같이 Username 과 이름만 가져오려고 할 때 public interface MemberSimpleMapping { String getUsername(); String getName().. 2024. 4. 8.
Spring boot) Spring + React 연동 빌드 배포 시 URL mapping (feat. ErrorController 사용 시 문제점) 결론부터 얘기하자면 View Controller 추가 설정을 통해서 연동하면 된다.@Configurationpublic class WebConfig extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/{spring:[a-zA-Z0-9-_]+}") .setViewName("forward:/"); registry.addViewController("/**/{spring:[a-zA-Z0-9-_]+}") .setViewName("f.. 2024. 1. 31.
Gradle) Q클래스 import 안됨 문제 (feat. gradle source sets) queryDSL 라이브러리를 추가하고 Q클래스를 생성하여 쓰려고 하는데 IDE에서 자동완성 및 자동 import가 안 되었다. Q클래스는 잘 생성되었으나 프로젝트에서 import가 안 되는 것이었다. 구글링 해보니 IntelliJ에서 File > Project Structure > Project Settings > Modules 에서 Q클래스가 생성된 폴더를 Excluded 되어있는 것을 Sources로 상태 변경하면 된다고 하였는데(Intellij에서 Querydsl 사용시 Q Class import 문제 (velog.io)), 나의 경우 이렇게 하여도 안되었다. 그러다 build clean을 하고 (나의 경우 Q클래스를 build폴더에 생성하였었다.) 다시 Q클래스를 생성하니 인식하였다. 뭐가 문제였.. 2023. 4. 22.
Gradle) Unsupported class file major version 64 오류 IntelliJ를 새로 설치하고 gradle을 이용하여 패키지를 설치하려고 하는데 "Unsupported class file major version 64" 오류가 발생하였다. https://stackoverflow.com/questions/75878942/spring-initializr-project-results-in-unsupported-class-file-major-version-64 찾아보니 해당 오류는 라이브러리 중 gradle의 JVM을 지원하지 않아서 발생하는 오류였다. gradle JVM은 IntelliJ에서 File => Settings => Build, Execution, Deployment => Build Tools => Gradle에서 Gradle JVM을 확인하면 알 수 있다. .. 2023. 4. 22.
querydsl ) String 컬럼들 동적으로 쿼리 생성 보통 querydsl 을 쓸 때는 Q클래스를 생성하여 컬럼명으로 체이닝을 하여 쓴다. 이렇게 하면 컬럼명을 잘못입력하면 컴파일과정에서 바로 오류가 뜨기 때문에 보통 IDE에서 빨간줄로 표시해주어서 불필요한 테스트를 줄일 수 있어서 큰 장점이 된다. 그렇다면 컬럼을 동적으로 선택하여 쿼리문을 만들려고 한다면 어떻게 해야할까? 예를 들어, 게시판에서 검색 영역을 제목, 내용, 태그를 동적으로 선택하여 특정 단어를 검색하는 기능을 만들려고 할 경우. 경우의 수는 컬럼 1개인 경우 3가지, 컬럼 2개인 경우 3가지, 컬럼 3개인 경우 1가지로 총 7가지 경우의 수가 생기고 이를 분기처리한다면 코드의 가독성을 떨어질 것이다. 그래서 프론트에서 검색 영역을 배열로 보내주고 배열에서 각 검색영역에서 특정 단어를 포함.. 2023. 3. 19.
Windows에서 Java 버전 관리하기 1. Jabba 설치 PowerShell을 관리자 권한으로 연다. (PowerShell 오른쪽 클릭 -> 관리자 권한으로 실행 선택) [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-Expression ( Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing ).Content 위 명령어를 실행한다. 개인권한 PowerShell로 설치하려 할 경우 관리자 PowerShell에서 다음 명령어로 보안설정을 변경하여야 한다. 그렇지 않으면 보안 오류가 발생한다. Set-ExecutionPolicy U.. 2023. 2. 22.
728x90
반응형