Spring 66

6. 스프링 공부 / 양방향 연관관계와 연관관계의 주인

단방향 매핑에서 양방향 매핑으로 한단계 상승! 전에 내용에서 본 단방향 관계와 양방향 관계는 테이블 구조로 보면 전혀 다른게 없다. 왜? 테이블을 생각해보면 외래키로 조인이 가능하기 때문임 서로 조인으로 왓다갓다 하면 끝이기 때문이다 그런데 class의 경우에는 그게 안됨!~ 그래서 각자 안에 Member.class에는 Team을 넣어주고, Team.class안에는 Member를 넣어준다. 근데 Team에는 구성원이 여러명이라면 List로 넣어준거다. //=======================Team.class에 팀 하나당 여러명의 멤버가 있으니 //=======================OneToMany를 members에 붙여줌. package jpabook.jpashop.domain; impor..

Spring 2021.07.15

5. 스프링 공부 / 2021-07-15 (단방향 연관 관계)

오늘 공부의 목표란다! 연관관계가 필요한 이유 => 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. 예제 시나리오 - 회원과 팀이 있다 - 회원은 하나의 팀에만 소속될 수 있다. - 회원과 팀은 다대일 관계다. //==============Member.class package jpabook.jpashop.domain; import javax.persistence.*; @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME" , nullable = false) private String username; @Column(name..

Spring 2021.07.15

4. 스프링 공부 / 2021-07-14 (실전1 - 요구사항 분석과 기본 매)

그러면 실제로 어떻게 쓰이는지 한번 보도록 하자 요구사항 분석 회원은 상품을 주문할 수 있다. 주문 시 여러 종류의 상품을 선택할 수 있다. 기능 목록 - 회원 기능 회원 등록 회원 조회 - 상품 기능 상품 등록 상품 수정 상품 조회 - 주문 기능 상품 주문 주문내역조회 주문취소 위와 같은 것을 이제 개발자의 입장에서 class를 만드는 것이랑 DA입장에서 만드는 것은 좀 차이가 있다. Order테이블에서 이제 Member정보를 꺼내고 싶다면 Order.class안에 Member를 선언할 것이다. 근데 JpaMain.class에서 그러면 어떻게 보이냐? package jpabook.jpashop.domain; import javax.persistence.*; import java.time.LocalDat..

Spring 2021.07.14

3. 스프링 공부 / 2021-07-14 (필드와 컬럼 매핑 ~)

필드와 컬럼 매핑 package hellojpa; import javax.persistence.*; import java.util.Date; @Entity @Table(uniqueContraints = "testing") //위에서 처럼 unique 키를 설정 시 이름을 선언 가능 public class Member { @Id // pk Mapping private long id; @Column(name = "name", insertable = true, updatable = true,nullable = false, unique = true, length = 10 , columnDefinition = "varchar(100) default 'EMPTY'" ) // column name 설정 //inser..

Spring 2021.07.14

2. 스프링JPA 공부 / 2021-07-13 (준영속 상태)

준영속 상태 Member member = em.find(Member.class, 150L); member.setName("AAAAA"); em.detach(member); // 특정 엔티티만 준 영속 상태로 만든다 em.clear(); // 통째로 다 초기화 Member member2 = em.find(Member.class,150L); // 앞에서 초기화해서 다시 조회 쿼리가 나감 em.close(); // 영속성 컨텍스트를 종료 뭐... 이게 아직은 어디에 쓰일지 모르겟다. 나중에 웹 application 개발할 때 자세히 알려 주신다고 한다. 그래서 결국 JPA에서 가장 중요한 2가지는 뭘까? 1. 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping) 2. 영속성 컨..

Spring 2021.07.13

1. 스프링 공부 / 2021-07-12

이 내용은 inflearn의 김영한 팀장의 spring jpa 강의 과정을 복습하려는 목적으로 만들었따. 9강. 플러시 음... 사실 앞에 내용들도 많은데 귀찮아서 정리를 안하다가 머리에 무언가를 남기려면 이렇게 정리를 하면서 해야만 하기 때문에 귀찮음을 꾹 참고 한다 가즈아~~@!!! 그래서 플러시가 뭐임? 영속성 컨텍스트의 내용을 DB에 날려준다고 생각하면 된다 영속성 컨텍스트는 뭐지? https://velog.io/@neptunes032/JPA-%EC%98%81%EC%86%8D%EC%84%B1-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%9E%80 JPA 영속성 컨텍스트란? 영속성 컨텐스트란 엔티티를 영구 저장하는 환경이라는 뜻이다. 엔티티 매니저를 통해 엔티티를 저장하거..

Spring 2021.07.12