전체 글
-
Spring Boot | Querydsl 서브 쿼리 사용하기▼ Backend/└ QueryDsl 2021. 10. 20. 15:20
프로젝트 QueryDsl Gradle 설정 Spring Boot | Querydsl, Gradle 설정하기 (Eclipse) ▶ Querydsl이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) kitty-geno.tistory.com ▶ SELECT 에서의 서브 쿼리의 사용 방법 ExpressionUtils.as(~) 부분이 서브 쿼리로 작성된 부분이다. Querydsl 내부에서 새로운 Expression을 사용할 수 있도록 지원해준다. public List selectCodeList(ArrayList ..
-
Spring Boot | Querydsl, Gradle 설정하기 (Eclipse)▼ Backend/└ QueryDsl 2021. 10. 19. 13:12
▶ Querydsl이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성 할 수 있도록 해 주는 (JPQL 사용성을 높이기 위해 확장한) 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) API를 이용해서 쿼리를 생성할 수 있다. 사용 이유에는 여러 가지가 있지만.. JPQL을 사용하더라도, 복잡한 로직의 경우 개행이 포함된 쿼리 문자열이 길어지기 때문에 동적 쿼리를 메소드로 구조화하여 관리를 편하게 하기 위해 단순 문자열과 비교해서 Fluent API를 사용할 때의 장점은 다음과 같다. IDE의 코드 자동 완성 기능 사용 문법적으로 잘못된 쿼리를 허용하지 않음 도메인 타입과 프로퍼티를 안전하게 참조할 수 있음 도메인 ..
-
JUnit | JPQL, SQLSyntaxErrorException No such column...▼ Backend/JUnit 2021. 10. 15. 14:35
Caused by: java.sql.SQLSyntaxErrorException: No such column: id, use_yn... 원인) 조회하려는 컬럼은 2개인데 엔티티로 작성된 컬럼은 2개이상 일 때 메서드의 리턴 타입이 List 로 되어있으면 엔티티에 정의된 모든 컬럼을 요구하는데 찾지 못할 때 발생 해결) 엔티티에 속한 컬럼을 다 출력해주거나, 리턴 타입을 List 으로 변경한다. Menu.java @NoArgsConstructor @Getter @Entity public class Menu { @Id @GeneratedValue private Long id; private String menuGb; private String menuNm; private String useYn; } MenuR..
-
Spring Boot | JPA Error, Null return value from advice does not match primitive return▼ Backend/스프링 (Spring) 2021. 10. 14. 17:52
Null return value from advice does not match primitive return type for: public abstract int @Query를 통해 데이터에 변경이 일어나는 삽입('INSERT'), 수정('UPDATE'), 삭제('DELETE') 쿼리 메서드를 사용할 때 @Modifying 어노테이션이 추가되어있는지 확인한다. import org.springframework.data.jpa.repository.Modifying; @Modifying
-
Spring Boot | JPA Error, Executing an update/delete query▼ Backend/스프링 (Spring) 2021. 10. 14. 17:45
Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query UPDATE, DELETE를 사용할 경우 @Transactional 어노테이션을 추가해야 한다. import org.springframework.transaction.annotation.Transactional; @Transactional
-
Spring Boot | Gradle, Jar 빌드&배포하기▼ Backend/스프링 (Spring) 2021. 10. 8. 12:35
🌈 이클립스 IDE 바탕으로 작성되었습니다. Run Configruations 프로젝트 우 클릭 → Run As → Run Configurations Gradle Task 우 클릭 → New Configuration ① 프로젝트를 선택한다. ② Task를 추가하여 bootJar를 입력한다. ③ Apply(적용) ④ Run(Run Build) Gradle Executions 탭에서 Build의 Operation 확인이 가능하다. Build(빌드)가 끝나면 ~프로젝트 경로/build/libs에 jar 파일이 생성된다. CMD(명령 프롬프트)를 실행시켜 프로젝트 경로로 이동한 뒤 jar파일을 실행한다. *당연히 자바가 설치되어있어야 한다. # jar가 있는 경로로 이동 cd C:\eGovFrameDev-3.9..
-
AWS | PuTTY를 사용하여 EC2(Linux) 인스턴스에 연결하기▼ DevOps/AWS 2021. 10. 7. 15:21
PuTTY를 사용하여 인스턴스에 연결하려면 프라이빗 키(.pem 파일)를 이 형식(.ppk 파일)으로 변환해야 한다. PuTTYgen를 실행하여 EC2(Linux)를 생성할때 다운로드한 프라이빗 키(.pem 파일)를 Load한다. PuTTY 다운로드 페이지 Save private key를 통해 프라이빗 키(.pem 파일)를 이 형식(.ppk 파일)으로 변환하여 저장한다. PuTTY를 실행시켜 Session → Host Name에 접속할 인스턴스의 퍼블릭 IPv4 주소 또는 퍼블릭 IPv4 DNS를 입력한다. 퍼블릭 IPv4 주소 또는 퍼블릭 IPv4 DNS는 인스턴스 상세 페이지에서 확인이 가능하다. Connection → SSH → Auth로 이동하여 변환시킨 .ppk 파일을 불러온 뒤(Brwoser...
-
Docker | Linux(CentOS)에 JAVA(자바) 설치하기▼ DevOps/도커 (Docker) 2021. 10. 6. 15:45
JAVA(자바) 설치 Docker → Container / Apps CentOS Container에서 CLI를 실행한다. 설치 가능한 자바 버전을 확인한다. java 1.8.0-openjdk와 java-1.8.0-openjdk-devel를 설치할 예정이다. ※ java11을 설치해도 상관없다. yum list | grep jdk java 설치 설치 중에 is this ok가 나오면 y 입력 yum install java-1.8.0-openjdk javac 설치 설치 중에 is this ok가 나오면 y 입력 yum install java-1.8.0-openjdk-devel.x86_64 정상적으로 설치가 되었는지 확인한다. java -version javac -version 환경변수 설정 java 위치를 ..