분류 전체보기692 [JPA] 객체지향 쿼리 언어 4 (중급 문법) 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 4. 다형성 쿼리 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● TYPE - 조회 대상을 특정 자식으로 한정한다. 예를 들면, Item 중 Book, Movie를 조회해라 와 같은 JPQL은 다음과 같다. //JPQL select i from Item i where type(i) IN(Book, Movie) //SQL select i from Item i where i.DTYPE in('B', 'M'); ● TREAT (JPA2.1) - 자바에서의 다운캐스팅과 유사하다. - 상속 구조에서 부모타입을 특정 자식 타입으로 다루기 위해 사용한다. - FRO.. BackEnd/JPA 2022. 4. 10. [JPA] 객체지향 쿼리 언어 3 (중급 문법) 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 경로 표현식 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 경로 표현식 이란? => .(점) 을 찍어 객체 그래프를 탐색하는 방법을 말한다. select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name ='팀A' ● 경로 표현식 용어 정리 1. 상태 필드 : 단순히 값을 저장하기 위한 필드 (ex. m.username) 2. 연관 필드 : 연관관계를 위한 필드 - 단일 값 연관 필드 : @ManyToOne, @.. BackEnd/JPA 2022. 4. 10. [JPA] 객체지향 쿼리 언어 2 (기본 문법) 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 5. 조인 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● 내부 조인 SELECT m FROM Member m [INNER] JOIN m.team t ● 외부 조인 SELECT m FROM Member m LEFT [OUTER] JOIN m.team t ● 세타 조인 select count(m) from Member m, Team t where m.username = t.name (설명에서 세타 조인의 의미가 내가 알던것과 달라 질문글을 찾아봤는데, 다음과 같이 설명해 주셨다. => 세타조인은 동등조인이면서 동시에 sql에서 join구문 없이 사용하는 .. BackEnd/JPA 2022. 4. 9. [JPA] 객체지향 쿼리 언어 1 (기본 문법) 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 소개 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● JPQL 소개 가장 단순한 조회 방법은 다음과 같다. EntityManager.find() 또는 객체 그래프 탐색을 하면서 조회할수도 있다. => a.getB().getC() 만약 나이가 18살 이상인 회원을 모두 검색하고 싶다면? 특정 조건을 기준으로 검색을 하고싶다면 어떻게 해야할까? ● JPQL 필요성 JPA를 사용하면 엔티티 객체를 중심으로 개발할수 있다. 문제는 검색 쿼리이다! 애당초 모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능하다. 검색을 할 때도 테이블이 아닌 엔티티 객체.. BackEnd/JPA 2022. 4. 8. [JPA] 값 타입 - 2 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 4. 값 타입의 비교 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 인스턴스가 달라도 그 안에 값이 같으면 같은것으로 봐야한다. // primitive type 비교 int a = 10; int b = 10; System.out.println(a == b); // true // 임베디드 타입 비교 Address a = new Address("서울", "test", 7777); Address b = new Address("서울", "test", 7777); System.out.println(a == b); // false 임베디드 타입을 '==' 연산자로 .. BackEnd/JPA 2022. 4. 7. [JPA] 값 타입 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 기본값 타입 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 JPA의 데이터 타입은 크게 2가지로 분류 가능하다. (엔티티 타입, 값 타입) 1. 엔티티 타입 - @Entity로 정의하는 객체이다. - 데이터가 변해도 식별자로 지속적인 추적이 가능하다. => 예를 들어 회원 엔티티의 키나 나이값 을 변경해도 식별자로 인식 가능하다. 2. 값 타입 - int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 - 식별자가 없고 값만 있으므로 변경시 추적 불가 => 예를 들어 숫자 100을 200으로 변경하면 완전히 다른 값.. BackEnd/JPA 2022. 4. 7. [백준][C++] 10942번: 팰린드롬? <212> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 생각보다 간단한 DP 문제이다. 1) 길이가 1인 경우 모두 팰린드롬 수가 된다. 2) 길이가 2인 경우 바로 다음 칸의 수와 비교해서 같은지 확인하면 된다. 3) 길이가 3 이상인 경우 우리의 배열 input이 다음과 같다 해보자. 1 2 1 3 1 2 1 이중 가장 중간에 있는 P : [1, 2, 1] 은 팰린드롬 수 .. Algorithm/백준 2022. 4. 7. [JPA] 영속성 전이와 고아 객체 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 영속성 전이 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속상태로 만들고 싶다면? 예를 들어 부모 엔티티를 저장하면 자식 엔티티도 함께 저장되도록 말이다! 우선 영속성 전이가 안되는 기본적인 엔티티의 저장방법부터 알아보자. - parent, child // parent @Entity public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent") priva.. BackEnd/JPA 2022. 4. 6. [백준][C++] 1005번: ACM Craft <211> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 위상정렬을 이용한 문제이다. 이 문제를 풀어본 후 다음 문제도 풀어보기를 권장한다. [백준][C++] 1766번: 문제집 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,.. Algorithm/백준 2022. 4. 6. [JPA] 프록시와 연관관계 관리 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 프록시 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 한가지 의문을 가져보자. Team이라는 필드를 갖고있는 Member를 조회할때 Team도 한번에 함께 조회되어야 할까? 예를 들어 다음과 같은 코드가 있다고 해보자. Member member = entityManager.find(Member.class, 1L); System.out.println("username = " + member.getUsername()); Team team = member.getTeam(); System.out.println("Team = " + team.getName().. BackEnd/JPA 2022. 4. 6. [TIL] 일일 회고 2022/04/05 오늘 한 일 1. AWS 입문서 완독후 리뷰 작성하기 [서평] 아마존 웹 서비스 (AWS Discovery Book) 저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다. 아마존 웹 서비스 AWS Discovery Book 아마존 웹 서비스(AMAZO blogshine.tistory.com 지난 2주간 읽어오던 AWS 입문서를 비로서 지난주말에 완독하게 되었다. 해당 책의 장점이라 생각되는 부분과, 단점을 몇가지 작성해 보았다. 실습 위주의 책이라 따로 내용 정리는 하지 않았지만, 좋은 책임은 분명하다! 2. 코드리뷰 정리하기 https://blogshine.tistory.com/344 [Review] 5단계 - 동적 HT.. CODE SQUAD/회고록 2022. 4. 5. [JPA] 고급 매핑 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 상속관계 매핑 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 관계형 데이터베이스 같은 경우 상속 관계가 없다. 대신 슈퍼타입, 서브타입 관계라는 모델링 기법이 객체 상속과 유사한 방식이다. 상속관계 매핑 : 객체의 상속 구조를 DB에서의 슈퍼타입, 서브타임 관계 매핑으로 해결한다. 위 그림에서 왼쪽과 같은 논리 모델을, 오른쪽과 같은 실제 물리 모델로 구현하는 방법에는 3가지가 있다. 1) 조인 전략 (각각 테이블로 변환) 2) 단일 테이블 전략 (통합 테이블로 변환) 3) 구현 클래스마다 테이블 전략 (서브타입 테이블로 변환) 다음과 같이 @Inh.. BackEnd/JPA 2022. 4. 5. 이전 1 ··· 26 27 28 29 30 31 32 ··· 58 다음