본문 바로가기
반응형

개발/JPA16

[JPA] Spring Data JPA - Query Method / 쿼리 메소드 / 간단한 쿼리는 쿼리 메소드 사용하면 편리 동적인 조건으로 조회를 하거나(ex.검색쿼리) 복잡한 쿼리를 해야한다면 Querydsl을 추천 하지만 단순한 crud라면 쿼리 메소드를 이용하면 매우 간단 편리하며 생산성을 올릴 수 있다! 쿼리메소드 키워드 표 Keyword Sample JPQL snippet Distinct findDistinctByLastnameAndFirstname select distinct …​ where x.lastname = ?1 and x.firstname = ?2 And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = .. 2022. 1. 20.
[JPA] Querydsl 조회 결과 DTO에 담는 법 / 예문 1. Projections.bean(dto.class, field1, field2) DTO setter 이용 List dtos = query.select( Projections.bean(UserDTO.class, user.firstName, user.lastName)).fetch(); 2. Projections.fields(dto.class, field1, field2) DTO setter 대신 필드를 직접 사용하는 경우, setter 없어도 됨 List dtos = query.select( Projections.fields(UserDTO.class, user.firstName, user.lastName)).fetch(); 3. Projections.constructor(dto.class, field1.. 2022. 1. 20.
[JPA] enum 타입 DB에 저장시 값 변환 / @Converter / AttributeConverter JPA Entiry 에서 ENUM 타입을 필드로 사용할 때 Converter를 사용하면 DB에 원하는 값으로 변환해서 넣어줄 수 있다 # ENUM public enum Gender { MAIL("남자"), FEMAIL("여자"); private final String label; Gender(String label) { this.label = label; } public String getLabel() { return this.label; } } # CONVERTER - AttributeConverter 인터페이스를 구현해서 만들어준다 – entity 필드 타입 (Enum타입) – DB 컬럼에 저장할 값 타입 public interface AttributeConverter { public Y conver.. 2022. 1. 19.
[JPA] postgres 스키마 설정 / default schema 설정 1. application.yml 설정 - 기본 스키마 설정 spring.jpa.properties.hibernate.default_schema: myschema - 샘플 spring: datasource: # db url: "jdbc:postgresql://DatabaseURL:port/db" username: user password: password platform: postgresql jpa: hibernate: ddl-auto: none # 자동으로 ddl 생성해서 반영하지 않게 설정 use-new-id-generator-mappings: true # AUTO, TABLE 및 SEQUENCE에 대해 Hibernate의 새로운 IdentifierGenerator를 사용할지 여부 database-p.. 2022. 1. 17.