@Entity 내용: 해당 클래스가 엔티티임을 나타내는 어노테이션입니다. 설명: JPA가 해당 클래스를 데이터베이스 테이블과 매핑합니다. 예제: @Entity @Table(name = "users") public class User { //... } @Id 내용: 해당 필드가 엔티티의 식별자(primary key)임을 나타내는 어노테이션입니다. 설명: 엔티티의 식별자 필드를 지정할 때 사용합니다. 예제: @Id private Long id; @Table 내용: 엔티티와 매핑될 테이블의 이름을 지정하는 어노테이션입니다. 설명: 엔티티를 매핑할 테이블의 이름을 지정합니다. 예제: @Entity @Table(name = "users") public class User { //... } @Column 내용: 엔..
프록시 프록시란 데이터베이스 조회를 지연할 수 있는 가짜 객체로써 실제 사용하는 시점에서 DB를 조회하도록 도와준다. 실제 객체와는 겉모양이 같고, 실제 객체에 대한 참조를 보관하고있다. 또, 프록시 객체를 호출하면 실제 객체의 메소드를 호출한다. 보통 객체를 조회할 경우 em.fine()를 사용하지만, 프록시 객체를 사용하기 위해선 em.getReference()를 사용한다. 아래 예시를 참고해보자, DB를 조회하지도않고 실제 객체를 생성하지도않는다. Member member = new Member(); member.setUsername("아이유"); em.persist(member); em.flush(); em.clear(); // 처음 Id값은 존재하기에 Member findMember = em.g..
양방향 연관관계와 연관관계의 주인2 - 주의점, 정리 tx.begin(); //팀 저장 Team team = new Team(); team.setName("TeamA"); em.persist(team); //회원 저장 Member member = new Member(); member.setUsername("member1"); member.setTeam(team); em.persist(member); // em.flush(); // em.clear(); // team.getMembers().add(member); Team findTeam = em.find(Team.class, team.getId()); List members = findTeam.getMembers(); 위와 같이 실행했을 경우, 마지막 라..
w영속성 관리 - 내부 동작 방식 정리 JPA에서 가장 중요한 2가지는 무엇일까? 첫번째, 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping)이다. - DB를 어떻게 설계할것인지 이에따라 JPA는 어떻게 사용할 것인지 중요하다. 두번째, 영속성 컨텍스트이다. JPA는 어떻게 작동할 것인지에 대한 이해가 중요하다. 즉, 영속성 컨텍스트를 이해해야하는데 이는 엔티티를 영구 저장하는 환경이라는 뜻으로, 아래 명령어 진행 시 엔티티를 영속성 컨텍스트에 저장하겠다는의미 입니다. EntityManager.persist(entity); em.find(EntityClass.class, entity); 영속성 컨텍스트는 눈에 보이지 않는 논리적인 개념으로써, EntityManager를 생..
영속성 컨텍스트2 1. 엔티티 조회, 1차캐시 영속성 컨텍스트(entityManager)는 1차캐시를 들고있습니다. @Id 는 해당 Table의 PK가 됩니다. @Entity는 해당 객체자체가 됩니다 (ex: member) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); // 1차 캐시에 저장됨 em.persist(member); // 1차 캐시에서 조회 Member findMember = em.find(Member.class, "member1"); member객체를 저장하면 캐시로 인해 조회가 가능합니다. em.find를 통해 조회를 하려고하면 JPA는 영속성컨텍스트에서 DB를 보는게 아니라 1차캐시를..
영속성 관리 JPA에서 가장 중요한 2가지는 아래와 같습니다. 객체와 관계형 데이터베이스 매핑하기() DB를 어떻게 설계하고 매핑할 것인지 영속성 컨텍스트 실제 JPA는 어떻게 동작하는지 이해하기 JPA를 쓰게되면 엔티티 매니저 팩토리와 엔티티 매니저를 이해해야합니다. 웹 어플리케이션 개발 시 고객의 요청이 온다면 EntityManager 생성이 됩니다. EntityManager는 DB Connection을 생성합니다. 영속성 컨텍스트란? JPA를 이해하는데 가장 중요한 용어로써 엔티티를 영구 저장하는 환경 이라고 합니다 아래 코드는 해당객체를 DB저장하는것 뿐만 아니라, 엔티티 매니저를 통해 엔티티를 영속성 컨텍스트라는 공간에 저장한다는 의미입니다. EntityManager.persist(entity)..
- Total
- Today
- Yesterday
- stream
- ApplicationContext
- 스트림
- AnnotationConfigApplicationContext
- 중간연산
- JPA
- 영속성 컨텍스트
- 람다
- vscode
- NPM
- install
- Intellij
- webpack
- Vue
- 차이
- docker
- MAC
- mvn
- lambda
- springboot
- BeanFactory
- nginx
- java
- map
- 최종연산
- 자바8
- container
- Vuex
- elasticsearch
- ngnix
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |