@Query 사용하기 6 (native) / 패스트캠퍼스 챌린지 27일차

망고쥬스·2021년 11월 27일
0
post-thumbnail

27일차

List<String> showTables();

-> 이렇게는 작동이 되지 않음

@Query(value = "show tables", nativeQuery = true)
List<String> showTables();

-> 이렇게는 작동이 가능하다.

BookRepository.java

Hibernate:
	show tables

[address, author, book, book_and_author, book_review_info, publisher, review, user, user_history]

JPA에서 활용할 수 있는 native query를 알아보았습니다.

Converter 활용하기

Java의 객체화를 할 때 DB와의 형식이 다른 경우 사용한다.
DB에서 정보를 가져와 Entity 형식에 맞게 바꿔주는 것.

JPA에서 ENUM데이터를 가져오는 경우 Coverter를 사용하게 된다.

Book Entity

private int status; //판매상태

public boolean isDisplayed(){
	return status == 200;

}

data.sql

insert into book(`id`, `name`, `publisher_id`, `deleted`, `status`) values (1, 'JPA초격차패키지', 1, false, 100);
insert into book(`id`, `name`, `publisher_id`, `deleted`, `status`) values (2, 'Spring Security 초격차 패키지', 1, false, 200);
insert into book(`id`, `name`, `publisher_id`, `deleted`, `status`) values (3, 'Spring Boot 올인원 패키지', 1, true, 100);

BookRepositoryTest

@Test
void converterTest(){
	bookRepository.findAll().forEach(System.out::println);

}

Result
id=1 출력
id=2 출력


#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Java/Spring웹개발마스터초격차패키지Online

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3FVdhDa

profile
#newbieDeveloper #since 2021.04.06

0개의 댓글