[JPA] SpringBoot 환경에 검색 기능 간단 구현 (+ 페이징 처리)
·
ORM/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/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/JPA
JPA 를 사용하다가 하드코딩으로 쿼리를 작성해주어야 하는 상황이 발생한다.그런데 작동하던 쿼리문이 본문의 제목과 같은 오류를 내뱉으면서 작동하지 않았다..!검색해보니 Param 이 존재하지 않아서였다 @Query(value = "select * from 테이블명 where 테이블 컬럼명 = :코드컬럼명 order by 정렬컬럼명 desc limit 숫자", nativeQuery = true)해당되는엔티티 findByAll(@Param(value = "코드컬럼명")String 코드컬럼명);(@Param(value = "코드컬럼명") 만 추가해주면 끝 !
[Spring] Jpa 이용해서 db 에 entity 추가
·
SpringBoot
0. 환경- DB : Postgres- DBeaver 을 사용하여 확인- Spring boot 환경에서 Jpa를 이용하여 테이블 생성1. 연동하기- src > main > resources > application.yml 파일spring: datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://localhost:포트번호/스키마이름 platform: postgres username: 지정한이름 (미설정시 기본) password: 지정한비번 (미설정시 기본) jpa: hibernate: ddl-auto: create # 처음에 create로 작성하시고 이후에는 none show-..