일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이해와 원리
- 제이피큐엘쿼리
- 에이치투데이터베이스
- springbootproxy
- jpqlquery
- httppie
- Git
- embededtype
- dockercmd
- 임베디드타입
- 자바제너릭
- JPAproxy
- jpa
- JPA값타입
- MySqlType
- 데이터베이트h2
- JPA Hint & Lock
- 스프링부트
- 스프링부트기본설정
- springbootH2
- JPA프록시
- javageneric
- spring
- JDBC connection pool
- JPAmapping
- Open EntityManager
- gitinitial
- sql
- springboot기본설정
- OSIV
- Today
- Total
목록Java (40)
빡코
값 타입이란? JPA는 데이터 타입을 크게 두 가지로 분류함. 1.Entity type 2.Value type Value 타입은 값의 변경을 추적할 수 없는 타입을 말합니다. int, double와 같은 Primitive 타입뿐만 아니라, Integer, String과 같은 클래스도 참조는 가지지만 값의 변경을 추적할 수 없기 때문에 마찬가지로 Value 타입에 속합니다. (값의 변경을 추적할 수 없다는 말은 값을 변경할 수 없다는 의미입니다. Integer, String의 값을 변경하면 참조하는 주소가 바뀝니다.) int, Integer, String 등 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 존재하기 때문에 추적이 변경시 불가능 생명주기를 엔티티에 의존. 의존하는 엔티티가..
프록시란? •em.find() vs em.getReference() •em.find(): 데이터베이스를 통해서 실제엔티티객체조회 •em.getReference():데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 Member findMember = em.getReference(Member.class, member.getId()); System.out.println("findMember = " + findMember.getClass()); Hibernate: /* insert hellojpa.Member */ insert into Member (createBy, createDate, lastModifiedBy, lastModifiedDate, USERNAME, MEMBER_ID) values (?..
상속관계매핑 •관계형 데이터베이스는 상속관계X •슈퍼타입 서브타입 관계라는 모델링기법 이객체 상속과 유사 •상속 관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리모델을 실제 물리 모델로 구현하는 방법 •각각 테이블로 변환 -> 조인전략 •통합 테이블로 변환 -> 단일테이블전략 •서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 주요 어노테이션 •@Inheritance(strategy=InheritanceType.XXX) •JOINED: 조인전략 •SINGLE_TABLE: 단일 테이블 전략 •TABLE_PER_CLASS: 구현 클래스 마다 테이블 전략 •@DiscriminatorColumn(name=“DTYPE”) •@DiscriminatorValue(“..
다대일 관계[N:1] 다대일 단방향 다대일 양방향 일대다 [1:N] 일대다 단방향 //Member @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String username; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username..
엔티티 매핑 소개 •객체와테이블매핑: @Entity, @Table •필드와컬럼매핑: @Column •기본키매핑: @Id •연관관계매핑: @ManyToOne,@JoinColumn 객체와테이블매핑 @Entity •@Entity가붙은클래스는 JPA가관리, 엔티티라한다 •JPA를사용해서테이블과매핑할클래스는@Entity필수 •주의 •기본생성자필수(파라미터가없는 public 또는 protected 생성자) •final 클래스, enum, interface, inner 클래스사용X •저장할필드에 final 사용 X @Entity속성정리 •속성: name •JPA에서사용할엔티티이름을지정한다. •기본값: 클래스이름을그대로사용(예: Member) •같은클래스이름이없으면가급적기본값을사용한다. *DDL(Data Definit..
[추후 정리할 내용] Java Persitsence API ORM : Object Relation Mapping 객체-관계 매핑 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결) 해주는 것 RDB ORM은 객체와 RDB 두 기둥위에 있는 기술이다. JPA와 hibernate의 관계? groupId? - 모든 프로젝트 중에서 당신의 프로젝트를 식별하게 해주는 식별자 - groupId는 Java의 패키지 이름 규칙을 따라야 함 즉 제어하는 도메인 이름의 반대로 시작 ex ) org.apache.maven, org.apache.commons - 만약에 프로젝트가 다중 모듈 프로젝트인 경우 부모의 groupId에 새 식별자를 추가해 사용 ex ) org.apache.maven, org.apache.ma..