@Query(value = "SELECT * FROM t_building_materials WHERE partner_code = :partnerCode ", nativeQuery = true)
List<BuildingMaterialsEntity> getBuildingMaterialsEntityByNumber(@Param("partnerCode") String partnerCode);
일반적으로 Repository에 간단하게 추가하면 됨.
기본 동작이 아닌 경우 조회인 경우 매개변수가 없을 경우가 존재하므로 따로 조회해야 함.
@PersistenceContext EntityManager entityManager;
String partnerCode = redisUserInformation.getPartnerCode();
String jpql = " SELECT c FROM t_customer_company AS c WHERE c.partnerCode = :partnerCode " +
" AND c." + search + " = :searchValue ";
TypedQuery<CustomerEntity> typedQuery = entityManager.createQuery(jpql, CustomerEntity.class);
typedQuery.setParameter("partnerCode", partnerCode);
typedQuery.setParameter("searchValue", searchValue);
ResponseResult responseResult = new ResponseResult(ResultCode.Success);
responseResult.add("customer_entity_list", typedQuery.getResultList());
return responseResult;
createQuery, getResultList 오류 처리 필요.
TypedQuery : 단일 클래스 조회할 시, 타입이 명확한 경우
Query : 타입이 불명확할때, Join 등
@Column(name ="partner_code")
private String partnerCode;
처음에 쿼리 만들 때 당연히 데이터베이스에 있는 컬럼으로 생각해서, partner_code를 넣었는데 장애가 발생.
@Entity(name = "t_customer_company")
@Table(name = "t_customer_company")
@Data
public class CustomerEntity {
처음 만드는 사람은 AS로 * 대신 조회하는 내용과 Eintity 어노테이션 제외하고 조회 숙지하면 될듯.
'Java' 카테고리의 다른 글
자바 열거형 Find Value (1) | 2022.09.23 |
---|---|
자바 Jpa Entity -> Sql Default Value (0) | 2022.09.21 |
자바 MessageFormat (0) | 2022.05.20 |
자바 비밀번호 생성(금융보안원) (1) | 2022.05.10 |
자바 프로그래머스 위클리 챌린지 8주차 (0) | 2021.10.01 |