[JPA STUDY] 5. 연관관계 매핑 기초
·
BE/자바 ORM 표준 JPA 프로그래밍
✅ 핵심 키워드 - 방향:단방향 - 한 쪽만 참조 / 객체에서만 존재양방향 - 양쪽 모두 서로 참조 / 테이블 관계는 항상 양방향 - 다중성:다대일, 일대다, 일대일, 다대다 - 연관관계의 주인:양방향 연관관계 설정 시 주인을 정해야 함 5.1 단방향 연관관계회원과 팀 관계를 통해, 다대일 단방향 관계 알아보기- 회원과 팀이 있음- 회원은 하나의 팀에만 소속됨- 회원과 팀은 다대일 관계임 객체 연관관계- 회원 객체가 Member.team 필드로 팀 객체와 연관관계를 맺습니다.- 단방향 관계 : 회원이 team 필드를 통해 팀을 알 수 있으나, 팀에서는 회원을 알 수 없습니다. 테이블 연관관계- 회원 테이블이 TEAM_ID 외래키로 팀 테이블과 연관관계를 맺습니다.- 양방향 관계 : 회원과 팀이 둘 다 조..
[JPA STUDY] 4장. 엔티티 매핑
·
BE/자바 ORM 표준 JPA 프로그래밍
이전 장에서는 매핑한 엔티티를 실제로 사용하는 부분을 다뤘다면,이번 장에서는 엔티티를 매핑하는 부분을 다루게 됩니다. 매핑을 하기 위해서는 어노테이션과 xml을 사용하게 되는데 어노테이션을 사용하는 것이 더 쉽고 직관적이므로이 책에서는 어노테이션을 이용해서 매핑을 설명합니다. 먼저 객체와 테이블을 매핑하는 어노테이션에 대해 알아보겠습니다. 4.1 @EntityJPA를 사용할 때는 테이블과 매핑할 클래스에 @Entity를 붙여야 합니다. Entity의 속성으로는📍nameJPA에서 사용할 엔티티 이름을 지정하는 것입니다.설정하지 않으면 클래스 이름 그대로 사용하게 됩니다.(보통은 기본으로 클래스 이름을 사용합니다)다른 패키지에서 이름이 같은 엔티티가 있지 않게 이름을 구분하여 만들어주어야 합니다. 🏠 주..
[JPA STUDY] 03. 영속성 관리
·
BE/자바 ORM 표준 JPA 프로그래밍
지난 주에 스터디한 내용으로는기존의 방식은 관계형 데이터베이스와 객체와의 패러다임 불일치 등으로 인한 문제가 발생한다는 점을 알아보았고그에 따라 "왜 JPA를 사용해야 하는가"와직접 엔티티매니저를 이용한 간단한 CRUD 작업을 JPA로 해보았습니다.  이번주에는 영속성 관리에 대해 정리해보는 시간입니다 😊 JPA가 제공하는 기능은 크게 두 가지입니다.그 중 이번에는 매핑한 엔티티를 실제 사용하는 부분을 알아 보겠습니다!  ★ 3.1 엔티티 매니저 팩토리와 엔티티 매니저지난 시간의 실습을 통하여 엔티티 매니저를 통해엔티티와 관련된 일을 처리하는 간단한 방식에 대해 알아보았습니다. 그리고 엔티티 매니러를 생성하는 곳은 바로 엔티티 매니저 팩토리 였습니다.아래와 같은 코드로 엔티티 매니저 팩토리를 생성합니다..
[node.js/md-site]Session 기반 kakao login 구현
·
BE/node.js
📍Login 방식서버가 클라이언트 인증을 확인하는 방식은 쿠키 세션 토큰이 대표적이다.cookie의 경우에는 보안에 취약하고 용량이 제한적이라는 단점이 있다.그래서 요즘에는 거의 다 jwt 아니면 session을 사용하는 것 같다 ㅎㅎ❓ Session 기반클라이언트의 민감한 인증 정보를 서버 측에서 저장 / 관리cookie는 브라우저가 관리했다…서버 메모리 저장해도 되고 데이터베이스에 저장해도 된다!Session 인증 방식 정리유저가 로그인하면 세션에 서버에 저장session id를 기준으로 정보 저장함서버는 브라우저의 쿠키에 session id 저장request에서 session id를 쿠키에 담아 전송서버는 클라이언트가 보낸 session id와 서버에서 가지고 있는 session id를 비교하여 ..
[ JPA STUDY ] 2장.JPA 시작
·
BE/자바 ORM 표준 JPA 프로그래밍
이 장에서는 jpa를 이용하여 테이블을 CRUD하는 jpa 어플리케이션을 만들어본다.📍2.1 이클립스 설치와 프로젝트 불러오기IDE로 이미 인텔리제이가 깔려있어서 그걸 사용하기로 했다...ㅎㅎ📍2.2 H2 데이터베이스 설치h2도 이미 깔려있었고 Member 테이블만 만들어주었다.📍2.3 라이브러리와 프로젝트 구조jpa 구현체로 하이버네이트를 사용하기 위한 핵심 라이브러리는 아래와 같다1. hibernate-core : 하이버네이트 라이브러리2. hibernate-entitymanager : 하이버네이트가 JPA 구현체로 동작하도록 JPA 표준을 구현한 라이브러리3. hibernate-jpa-2.1-api : JPA 2.1 표준 API를 모아둔 라이브러리🍥 2.3.1 메이븐과 사용 라이브러리 관리메..
[ JPA STUDY ] 1장. JPA 소개
·
BE/자바 ORM 표준 JPA 프로그래밍
📍JPA 공부를 시작하며...프로젝트를 진행하면서 JPA를 사용했고 지금도 사용 중이긴 하지만, 그 안에 담긴 원리를 제대로 파악하고 있지 않은 채 JPA를 활용하고 있어서 때로는 답답했고 구글링을 하고 관련 블로그도 찾아보긴 했지만, 매번 찾아보는 것도 일이었다. 그래서 이번 기회에 김영한님의 'JAVA ORM 표준 JPA 프로그래밍'을 통해서 영속성, 트랜잭션 등 JPA 관련 공부를 해보기로 했다.📍01. JPA 소개💬 1-1 SQL을 직접 다룰 때 발생하는 문제점자바 어플리케이션은 대부분 MySQL과 같은 RDB를 데이터저장소를 활용하고 이를 관리하는 용도로 SQL을 사용한다.JDBC API를 이용해서 SQL을 DB에 전달하기 때문에 SQL을 다루게 된다. ✅ 반복되는 코드로 인한 비효율성CR..