Free Lines Arrow
본문 바로가기
728x90

DataBase60

[JPA] JPQL 경로표현식 경로 표현식 경로표현식이란 .(점) 으로 접근하여 그래프를 탐색하는 것이다. 묵시적 내부조인 묵시적 내부조인이란 JPA가 자동으로 join을 만드는 것을 말한다. 묵시적 내부조인은 연관관계 때문에 발생한다. 예를 들어 Memeber 클래스 안에 Team 객체가 있다면? - DB는 테이블 개념이기 때문에 Member 의 Id 와 일치하는 Team 의 FK 를 기준으로 값을 가져오기 때문이다. 객체에서는 .(접근자) 로 조회 하지만 DB 에서는 Join 으로 가져오는 방법밖에 없다. 결론부터 말하면 묵시적 조인은 절대 쓰면 안된다. 예측하기 힘들고 튜닝할때 힘들다. 표현 필드 종류 상태필드 단순히 값을 저장하기 위한 필드 m.username 정도 된다. 연관필드: 단일값 연관필드: - 대상이 엔티티 인 필드.. 2021. 9. 26.
[JPA] JPQL 기본함수, 사용자 정의 함수 호출 JPQL의 기본함수 종류 기존함수는 SQL과 동일하기 때문에 몇몇부분은 생략했습니다. CONCAT SUBSTRING TRIM LOWER, UPPER LENGTH LOCATE ABS, SQRT, MOD SIZE, INDEX(JPA 용도) CONCAT 두개의 문자를 합친다. 예제 // CONCAT 예제 String concatQuery = "select concat('a', 'b') as username from JPQLMember m"; List concatResult = em.createQuery(concatQuery, String.class).getResultList(); for(String s : concatResult) { System.out.println("s = "+s); } 결과 Hiberna.. 2021. 9. 25.
[JPA] JPQL CASE JPQL CASE JPQL 에서 case문 사용하기 SQL 과 비슷하다. DB의 설정한값 Team team = new Team(); team.setName("teamA"); em.persist(team); Member member1 = new Member(); member1.setUsername("teamA"); member1.setAge(10); member1.setTeam(team); member1.setType(MemberType.ADMIN); em.persist(member1); Team team1 = new Team(); team1.setName("teamB"); em.persist(team1); Member member2 = new Member(); member2.setUsername(null.. 2021. 9. 25.
[JPA] JPQL TYPE JPQL TYPE JPQL 에서 사용할수 있는 타입을 알아보자. JPQL 타입 표현 문자: 'HELLO' 숫자: 10L, 10D, 10F Boolean:TRUE FALSE ENUM: 패키지명.Class명.타입종류 - jpql.MemberType.Admin JPQL 기타 SQL 과 문법이 같은식 EXISTS, IN AND, OR, NOT =, >, >=, < , 2021. 9. 24.
728x90
반응형