[JOOQ] 프로젝트에 jooq 설정하기
·
ORM & DSL/JOOQ
nosql 에 절여졌던 제가 postgre 를 사용하면서 Jooq 를 만나게 되었습니다.이번 포스팅에서는 Jooq 설정 방법에 대해 이야기를 하고,다음 포스팅부터는 Jooq 를 이용하여 간단한 쿼리를 작성하는 방법 등을 다루며 jooq 와 친해져보도록 하겠습니다. 1️⃣  jooq 랑 살짝 친해지기 🪴 jooq 가 뭔가요이번 포스팅에서는 jooq 설정을 주로 다룰 예정입니다.따라서 jooq 에 대해서는 아주 간단하게만 언급하려고 합니다. jooq 는 Java Object Oriented Querying 의 약자로,Java에서 SQL을 객체 지향적으로 다룰 수 있도록 도와주는 라이브러리라는 뜻입니다. JPA나 Mybatis와 같은 ORM들과는 다르게 SQL을 직접 사용하지만,자바 코드로 안전하게 다룰 수..
[JPA] SpringBoot 환경에 검색 기능 간단 구현 (+ 페이징 처리)
·
ORM & DSL/JPA
1. 시작하기 전 두 메서드 모두 JpaRepository 인터페이스에서 제공하는 메서드입니다.메서드명설명findBy[컬럼명]엔티티의 특정 컬럼 값을 이용하여 조회하는 메서드 findBy[컬럼명]Containing지정한 문자열이 포함된 엔티티를 조회하는 메서드만약 name 컬럼에서 값이 '홍길동' 인 것을 찾을 때는 findByName 을 사용하시면 되고,name 컬럼에서 성이 '홍'인 사람들만 찾을 때는 findByNameContaining 을 사용하시면 됩니다. 2. 구현 (+페이징 처리) 예시 : 검색어(String keyword) 를 컬럼에서 조회하고자 한다. Repository 부분public interface ExRepository extends JpaRepository { Page findB..
[JPA] 복합키 적용해서 테이블 생성하기 @EmbeddedId, @IdClass
·
ORM & DSL/JPA
테이블에 PK가 하나가 아닌 여러 개 일 경우 설정하고자 한다.1. 시작하기 전 @EmbeddedId : ID 필드로 별도의 객체를 사용할 수 있도록 도와주는 어노테이션@IdClass : 해당 컬럼이 PK임을 알려주는 어노테이션Serializable : 생성한 객체를 파일로 저장하거나, 저장한 객체를 읽을 경우 또는 다른 서버에서 생성한 객체를 받기 위해 구현하는 인터페이스 (직렬화)2. 전체 파일 파일은 두 개로 나누었다. PK 는 따로 한 파일에 (Seq.java) 모아두었고테이블은 Storage.java 에 생성하였다. Seq.java 파일import lombok.Getter;import lombok.Setter;import lombok.ToString;import javax.persistence...
[JPA] JPA For queries with named parameters 오류 해결
·
ORM & DSL/JPA
JPA 를 사용하다가 하드코딩으로 쿼리를 작성해주어야 하는 상황이 발생한다.그런데 작동하던 쿼리문이 본문의 제목과 같은 오류를 내뱉으면서 작동하지 않았다..!검색해보니 Param 이 존재하지 않아서였다 @Query(value = "select * from 테이블명 where 테이블 컬럼명 = :코드컬럼명 order by 정렬컬럼명 desc limit 숫자", nativeQuery = true)해당되는엔티티 findByAll(@Param(value = "코드컬럼명")String 코드컬럼명);(@Param(value = "코드컬럼명") 만 추가해주면 끝 !