연관관계(Relationship) 엔티티는 독립적으로 존재하기도 하지만, 다른 엔티티와 협력과 상호작용을 위하여 직접적인 참조를 하는 경우도 있는데, 이때 그러한 참조 관계를 연관관계라고 합니다. 여기서 직접적인 참조는 다른 엔티티를 메서드의 인자로서 참조하는 것이 아닌, 멤버 필드로 가지며 해당 필드를 통하여 참조를 하는 경우를 말합니다. 전자의 경우는 간접 참조라고 하겠습니다. 연관관계 := 다른 엔티티와의 협력과 상호작용을 위한 직접적인 참조 이러한 연관관계는 방향, 다중성, 주인의 3가지 요소로 구성됩니다. 각 요소에 대해서 살펴보도록 하겠습니다. 방향(Direction) 참조는 방향이 존재합니다. 만약 A라는 엔티티가 B라는 엔티티를 직접 참조한다면 참조의 방향은 A에서 B 쪽으로 단방향이라고 ..
이전 이야기 이전에는 우리가 작성한 객체를 엔티티로 식별되도록 JPA에게 알려주는 방법인 @Entity 애너테이션, 그리고 해당 엔티티가 매핑되는 테이블의 기본 키와 필드를 매핑하여주는 @Id 애너테이션, 엔티티가 매핑되는 테이블의 정보를 명시하는 @Table 애너테이션에 대해서 알아보았습니다. 필드와 칼럼 매핑 기본 키가 아닌 다른 필드들이 테이블의 칼럼과 매핑을 위해서 어떻게 JPA에게 정보를 제공할 수 있는지, JPA는 어떠한 방법을 제공하는지에 대해서 알아보도록 하겠습니다. 애너테이션 설명 @Column 필드와 칼럼을 매핑합니다. @Enumerated Enum 타입의 필드와 칼럼을 매핑합니다. @Temporal 날짜 타입의 필드를 칼럼과 매핑합니다. - java.util.Date 또는 java.u..
JPA의 역할 서로 다른 기반을 가진 두 시스템이 결합하기 위해서는 중간 다리 역할이 필요하며, JPA가 바로 그 역할이며, 존재의 이유라고 했습니다. 그러한 역할을 하기 위해서는 JPA는 양쪽 시스템에 대한 정보가 필요하며, 그 정보를 바탕으로 서로 다른 유형들을 적절하게 변환할 수 있게 됩니다. 여기서 말하는 정보는 객체의 필드의 타입(정수형, 실수형, 날짜형, ...), 테이블의 기본 키(PK), 인덱스 등이 존재한다면 해당 칼럼과 매핑될 객체의 필드를 말합니다. 엔티티(Entity)란 ? JPA는 엔티티라는 단위로 테이블을 식별하고 관리합니다. 엔티티는 대단한 것이 아니라 우리가 작성해야 하는 비즈니스 로직을 구현한 객체라고 생각하면 됩니다. 객체의 인스턴스는 테이블의 로우로 저장되는 것이죠. 우..
JPA에 대하여 JPA는 Java Persistence API의 약어입니다. Persistence는 "(없어지지 않고 오래 동안) 지속됨"이라는 뜻을 가지고 있는데, 많이 사용하는 표현으로는 영속성이라고 부릅니다. 뜻 그대로 없어지지 않고 오래 동안 지속이 된다는 의미입니다. 그러면 도대체 무엇을 오래 동안 지속하는 것일까, 우리가 작성하는 객체를 말합니다. 일반적으로 애플리케이션이 종료되면 우리가 생성한 객체들은 메모리에서 사라지게 되며, 더 이상 어디에도 존재하지 않습니다. 우리는 애플리케이션이 종료되더라도 다시 실행할 경우 이전 상태의 객체가 필요한 경우가 많습니다. 쉽게 말하면 우리가 작성하는 문서를 생각하면 됩니다. 문서 편집 애플리케이션이 종료된다고 해서 우리가 작성한 문서 내용들이 사라지게 ..
- Total
- Today
- Yesterday
- 카카오
- kotlin
- 오늘의집
- Uber
- 문자열
- 프로그래머스
- JPA
- 스트림
- 회고
- set
- 스택
- 연결리스트
- 알고리즘
- TDD
- Java
- 정렬
- 코드 스니펫
- dfs
- 구현
- k8s
- 코딩인터뷰
- 비트연산
- dp
- 쓰레드
- BFS
- 해쉬
- sql
- 탐욕법
- dsu
- 우선순위큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |