일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 싱글톤 패턴
- 참조형 반환타입
- removeAll
- TCP/IP 4계층
- 참조형 매개변수
- 팩토리 패턴
- 후위표기식
- SOLID원칙
- www.naver.com치면 발생하는일
- 쇠막대기
- 백준 2164
- 옵저버 패턴
- 기본형 매개변수
- 리버스 프록시
- 백준 1935
- @Tranctional
- k번째큰수
- 빈 타입 조회
- mvvm패턴
- 포워드 프록시
- 스프링 빈
- 팩토리패턴
- Class Loader
- 스프링 컨테이너
- 스프링 싱글톤
- 네트워크
- 스프링
- 자바의 면접
- try-catch
- 전략 패턴
- Today
- Total
목록JPA (14)
스파이더 웹 개발

프록시 em.find() 와 em.getReference() em.find() : 데이터베이스를 통해서 실제 엔티티 객체 조회 em.getReference() : 데이터베이스 조회를 미루는 가짜 엔티티 객체 조회(즉, DB의 쿼리가 실행이 안되는데 객체가 조회 된다) em.find() try { Member member = new Member(); member.setName("hello"); em.persist(member); em.flush(); em.clear(); Member findMember = em.find(Member.class, member.getId()); System.out.println("findMember.getId() = " + findMember.getId()); System.o..

상속 관계 매핑 관계형 데이터베이스는 상속 관계가 불가하다 슈퍼타입, 서브타입 관계라는 모델링이 객체 상속과 매우 유사 상속관계 매핑은 객체의 상속과 구조를 DB의 슈퍼타입 서브타입 관계로 매핑한것이다 슈퍼타입 서브타입 논리 모델을 물리 모델로 구현하는 방법으로는 3가지가 있다 1. 각각 테이블로 변환 -> 조인전략 (해당 전략으로 권장한다, 단일테이블전략도 상황에따라 같이고려한다) 2. 통합 테이블로 변환 -> 단일 테이블 전략 3. 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 예제 Item 이라는 클래스를 Movie, Book, Album 에서 상속받고있다고 가정하자 Item 클래스 @Entity public class Item { @Id @GeneratedValue private Lon..

분류 다 대 일 : @ManyToOne 일 대 다 : @OneToMany 일 대 일 : @OneToOne 다 대 다 : @ManyToMany 테이블은 외래키 하나로 두 테이블이 연관관계를 맺는다. 그러나 객체의 경우는 양방향에서 참조가 2군데 있는데, 둘 중 테이블의 외래키를 지정해주어야 한다. 각 분류에서 누가 연관관계의 주인이 되는지에 대해 알아보자. 왠만하면 테이블과 매핑 되는 객체를 연관관계의 주인으로해주자. 일대다 단방향 관계라고하면 다대일 양방향으로 개선해보자 다 대 일 다 대일 에서는 다 쪽인 Member가 연관관계의 주인이 되어, Membr 객체가 테이블의 외래키를 관리한다 @Setter @Getter @Entity public class Member { @Id @GeneratedValue..

객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없다 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾지만, 객체는 참조를 사용해서 연관된 객체를 찾는다 예를들어 회원과 팀이 각각 존재하고 둘의 관계는 n:1 관계이다(팀이 일) Member @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String name; @Column(name = "TEAM_ID") private Long teamId; public Member(){ } } Team @Entity public class Team { @I..
객체와 테이블 매핑 : @Entity, @Table(엔티티와 매핑할 테이블 지정) 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn @Entity @Entity 어노테이션이 붙은 클래스는 JPA가 관리, 클래스와 테이블을 매핑 기본 생성자는 필수 엔티티 매핑에대해 자세히 알아보자 예제) @Entity public class Member { @Id private Long id; @Column(name = "name") private String username; private Integer age; @Enumerated(EnumType.STRING) private RoleType roleType; @Temporal(TemporalTyp..