일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kusitms
- java on azure day seoul 2025
- 영속성
- springboot
- 30기
- JPA
- 최범균
- 이펙티브자바
- GitHub Actions
- jdbc
- Spring
- java
- compile()
- 백엔드
- cicd
- 자동처리
- ddd
- 교육기획팀원
- JPQL
- Spring Batch
- 자바 ORM 표준 JPA 프로그래밍
- RESTClient
- 큐시즘
- reactive operaton
- rabbitmq-delayed-message-exchange
- Domain Driven Design
- 한국대학생it경영학회
- 교육기획팀
- 객체지향 쿼리 언어
- 도메인 주도 개발 시작하기
- Today
- Total
목록분류 전체보기 (72)
코딩은 마라톤

1. 자바 ORM 표준 JPA 프로그래밍 책 끝내기. - 방학 동안 끝내려고 했으나 ... 방학 때 다른 길에 빠져 공부에 소홀했다. 그래서 1학기 종강 전까지 책을 끝낼 예정이다 !!! 2. 코딩테스트 합격자 되기 _ 자바편 끝내기. - 알고리즘을 자주 풀려고 노력했지만 입맛에 맞는 것만 풀려고 하거나, 조금 고민하다가 남의 코드를 찾아보는게 습관이 되어가는 거 같아서.. 철저하게 공부하고 풀어지지 않으려고 이 책을 구매했다. - 주에 10문제씩 푼다면 8주면 끝낼 수 있다. 물론 방학 전까지 못 끝낼 수 있으나, 못 끝내더라도 최대한 많이 습득해서 코딩테스트에 감이 좀 생겼으면 좋겠다. - 아마 이 책은 끝내더라도 2학기에 한번 더 반복해서 완벽히 내 것으로 만들 것이다. 그래서 3학년 끝나고 산업체..
8.1 프록시 엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것은 아니다. 회원 : 팀 = N : 1 회원과 팀의 정보를 출력할 때는 회원과 연관된 팀의 이름을 출력하기 때문에 둘 다 사용한다. 하지만 회원의 정보만을 출력할 때는 연관된 팀 엔티티는 전혀 사용하지 않는다. (함께 조회하는 것은 비효율적이다.) 따라서 JPA는 이런 문제를 해결하고자 엔티티가 실제 사용될 때까지 데이터베이스 조회를 지연하는 방법을 제공한다. 이것을 "지연 로딩" 이라 한다. 지연 로딩 기능을 사용하려면 실제 엔티티 객체 대신에 데이터베이스 조회를 지연할 수 있는 가짜 객체가 필요한데 이를 "프록시 객체" 라 한다. 8.1.1 프록시 기초 Member member = em.find(Member.class, "member..

7.1 상속 관계 매핑 7.1.1 조인 전략 _ 각각의 테이블로 변환 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키를 받아서 기본 키 + 외래 키로 사용하는 전략 조회할 때 조인을 자주 사용한다. 타입을 구분하는 컬럼을 추가해야한다. (객체는 타입으로 구분할 수 있지만 테이블은 타입의 개념이 없기 때문) // 부모 클래스 @Entity // 부모 클래스에 @Inheritance를 사용한다. // 조인 전략을 사용하므로 InheritanceType.JOINED를 사용한다. @Inheritance(strategy = InheritanceType.JOINED) // 부모 클래스에 구분 컬럼을 지정한다. // 이 컬럼(DTYPE)을 통해 저장된 자식 테이블을 구분할 수 있다. @Dis..
6.1 다대일 6.1.1 다대일 단방향 [N:1] 회원 엔티티(Member)와 팀 엔티티(Team)는 다대일 관계이다. @Entity public class Member { ... @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; ... } @Entity public class Team { ... @Id @Column(name = "TEAM_ID") private Long id; ... } 회원은 Member.team을 통해 팀 엔티티를 참조할 수 있다. 팀에는 회원을 참조하는 필드가 없기 때문에 다대일 단방향 연관관계다. 6.1.2 다대일 양방향 [N:1] @Entity public class Member { ... @ManyToOne @Join..

목표 : 객체의 참조와 테이블의 외래 키를 매핑하는 것 단방향 연관관계 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계다. - 객체 연관관계 회원 객체와 팀 객체는 단방향 관계 Member.team 필드로 팀 객체와 연관관계를 맺는다. member -> team의 조회는 가능, 반대는 불가 - 테이블 연관관계 회원 테이블은 TEAM_ID 외래키로 팀 테이블과 연관관계 맺는다. 회원과 팀 테이블은 양방향 관계 (회원, 팀 둘다 조인 가능) - 객체 연관관계와 테이블 연관관계 정리 객체는 참조(주소)로 연관관계를 맺는다. 참조를 사용하는 객체의 연관관계는 단방향이다. 객체를 양방향으로 참조하려면 단방향 연관관계를 2개 만들어야 한다. 테이블은 외래 키로 연관관계를 맺는다. 외래 키를 사용하는..
@Entity 테이블과 매핑할 클래스는 필수로 붙여야 한다. 속성 기능 기본값 name JPA에서 사용할 엔티티 이름 지정 클래스 이름 주의사항 기본 생성자 필수 (@NoArgsConstructor) final 클래스, enum, interface, inner 클래스 사용 X 저장할 필드에 final 사용 X @Table 엔티티와 매핑할 테이블 지정 속성 기능 기본값 name 매핑할 테이블 이름 엔티티 이름 catalog catalog 기능이 있는 db에서 매핑 schema schema 기능이 있는 db에서 매핑 uniqueConstraints (DDL) DDL 생성 시 유니크 제약조건 생성. 2개 이상의 복합 유니크 제약 조건도 만들 수 있다. DDL을 만들 때만 사용. 데이터베이스 스키마 자동 생성 ..
엔티티 매니저 팩토리, 엔티티 매니저 엔티티 매니저 팩토리 // persistence.xml 코드의 EntityManagerFactory emf = Persistence.createEntityManagerFactory("{name}"); - 엔티티 매니저를 만드는 공장 - 공장을 만드는 비용은 상당히 크다. -> 한 개의 엔티티 매니저 팩토리를 만들어서 전체 애플리케이션에서 공유 - 여러 스레드가 동시에 접근해도 안전 -> 서로 다른 스레드 간에 공유 가능 엔티티 매니저 EntityManager em = emf.createEntityManager(); - 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유 금지 영속성 컨텍스트 엔티티를 영구 저장하는 환경 em.persist(e..
책에 나온 설정 방법 - 이클립스 - Java 1.6 - Maven - H2 1.4.187 변경 사항 - IntelliJ 인텔리제이 - Java 11 - Gradle - H2 2.1.214 build.gradle dependencies { implementation 'org.hibernate:hibernate-entitymanager:5.6.15.Final' implementation 'org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final' runtimeOnly 'com.h2database:h2:2.1.214' /* java 11일 경우 설치 */ implementation 'javax.xml.bind:jaxb-api:2.3.0' compi..