일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sqs
- orm
- Docker
- mapping
- QueryDSL
- goorm
- jpa
- aws
- 개발자
- rds
- CICD
- DynamoDB
- data
- s3
- codebuild
- bootcamp
- CodeCommit
- nosql
- 스터디
- MSA
- 자격증
- 티스토리챌린지
- serverless
- 오블완
- spring
- backenddeveloper
- codedeploy
- Spring Boot
- goorm x kakao
- Redis
- Today
- Total
목록orm (5)
gony-dev 님의 블로그

연관관계 매핑이란, 객체의 참조와 테이블의 외래 키를 매핑하는 것을 말한다. 예를 들어 설명하자면, 멤버와 팀에 대한 테이블이 존재하고 팀에는 여러 명의 멤버들이 연관되어 있으므로멤버를 조회시 어느 팀에 소속되어 있는지 확인할 수 있는 방법이 바로 매핑인 것이다. "매핑에는 단방향과 양방향이 존재한다."1. 매핑의 기초, 방향1. 방향에는 단방향과 양방향이 존재한다.한 객체에서 일방적으로 다른 객체만 참조하는 관계 = 단방향 객체두 객체가 서로 참조하는 관계 = 양방향 객체사실 양방향 객체는 단방향이 서로 연결되어 있는 형태로가 이해하면 쉬울것이다.2. 양방향 매핑연관관계를 이해하기 위해서는 객체와 테이블 간에 연관관계를 맺는 차이를 이해할 필요가 있다.다음은 멤버와 팀 간의 연관관계를 매핑하는 sql문..
매핑은 키 역할을 하는 데이터와 값 역할을 하는 데이터를 짝 지어 저장하는 데이터 구조를 의미한다.그렇다면 매핑에는 어떤 유형이 존재할까?객체와 테이블 매핑객체와 테이블 매핑은 '@Entity'와 '@Table' 간의 연관관계를 의미한다."@Entity"가 붙은 클래스는 JPA가 관리하고, "@Table"이 붙은 클래스는 엔티티와 매핑할 테이블을 지정하는 것을 의미한다.컬럼 매핑 - "@Column"기본 키 매핑 - "@Id"연관관계 매핑 - "@ManyToOne", "@JoinColumn" 데이터 베이스 스키마 자동 생성데이터베이스 스키마에는 여러 종류가 있다.create: 기존테이블 삭제 후 다시 생성create-drop: create와 같으나 종료시점에 테이블 dropupdate: 변경 사항만 반..
JPA에서 가장 중요한 것 2가지는객체와 관계형 데이터베이스 매핑(=ORM) 영속성 컨텍스트이다!플러시"플러시"란 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 행위를 뜻한다. 본래 데이터베이스의 변경사항을 실행하여 커밋한다면 이를 감지하고 플러시를 하는 과정이 일어난다. 플러시는 커밋할 시에 자동 순차적으로 진행이 되지만 플러시를 한다고 해서 커밋이 되지는 않는다!플러시를 발생했을 경우엔티티의 변경을 감지수정된 엔티티가 있다면 영속성 컨텍스트에 있는 쓰기 지연 SQL 저장소에 쌓아둔다.쓰기 지연 SQL 쿼리지금까지 쌓아온 쿼리들을 모두 내보내고 실행한다.※ 플러시가 발생했다고 해서 영속성 컨텍스트가 비워지는 것은 아니다. 만일 이것까지 비우고 싶다면 "em.clear();"를 호출하여 깔끔하게..

JPA에서 가장 중요한 것 2가지는객체와 관계형 데이터베이스 매핑(=ORM) 영속성 컨텍스트이다!영속성 컨텍스트영속성 컨텍스트란 "엔티티를 영구 저장하는 환경이다"ex. EntityManager.persist(entity); 1. 엔티티 매니저와 영속성 컨텍스트영속성 컨텍스트는 사실 논리적인 개념이며, 물리적 개념인 EntityManager를 통해 영속성 컨텍스트에 접근한다.2. J2SE 환경Java SE로 가장 보편적으로 쓰이는 자바 API 집합체라고한다.이를 통해 EntityManager와 PersistenceContext를 1대1로 매핑할 수 있다.3. 엔티티의 생명주기- 생명주기는 비영속과 영속, 준영속, 삭제로 나뉜다.비영속은 영속성 컨텍스트와 전혀 상관없는 관계 상태를 말한다. 즉 객체를 생..

1. SQL 중심적인 개발의 문제점무한 반복..지루한 코드...애플리케이션을 개발하다 보면 보통 객체 지향 언어로 개발을 하게 된다. 그리고 데이터베이스는 관계형 DB를 많이 채택한다. 실제로 우리가 실무에서 개발을 진행하면 만들어지는 객체들을 이 관계형 DB에 관리를 하게 된다. 본래는 SQL문을 만들어가면서 CRUD 기능들을 진행해야한다. 이러할 때 문제점은 수많은 SQL문들을 작성해야 하기 때문에 대단히 번거롭고 비효율적인 과정을 거치게 된다. 하지만 관계형 데이터베이스를 사용하면서 통신을 하기 위해서는 SQL에 의존적인 개발을 피하기가 어렵다...객체와 관계형 데이터베이스의 차이상속상위 항목을 추상화로 두고 밑에 구체적인 객체들을 상속받는다.연관관계객체는 참조를 사용하고, 테이블은 외래 키를 사용..