Spring 6

[Spring] JPA Entity 복합키 설정/EmbededId

USER가 ITEM을 북마크할 때 데이터베이스 스키마를 아래와 같이 작성할 수 있다! BOOKMARK의 PK는 uid와 item_id 값이 되는데 JPA에서는 복합키 설정을 위해서 @EmbededId를 사용한다! User.java @Entity @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; private String username; private String password; private String email } Item.java @Entity @Getter @Setter @AllA..

카테고리 없음 2021.09.26

[Spring/JPA] 연관관계 매핑

*인프런 김영한 강사님의 JPA 로드맵 강좌를 기반으로 정리한 내용입니다! 연관관계 매핑 관계형 DB 테이블에서는 FK를 통해 양방향으로 조회를 할 수 있습니다. 교수, 수업 이 두가지 테이블를 예시로 사용하겠습니다. - 교수님은 여러 수업의 강의를 맡을 수 있습니다. - 한 수업에는 한 교수님이 강의를 맡으십니다. [Table] 현재 수업을 담당하는 교수님을 알고 싶다면 select * from CLASSES c join PROFESSOR p on c.professor_id = p.professor_id; 교수님이 담당하는 모든 수업을 알고 싶다면 select * from PROFESSOR p join CLASSES c on p.professor_id = c.professor_id; 이렇게 FK를 이용..

Develop/Spring 2020.12.20

[Spring/JPA] 영속성(persistence)

*인프런 김영한 강사님의 JPA 로드맵 강좌를 기반으로 정리한 내용입니다! 영속성 persistence의 사전적 의미는 '지속됨'입니다. 컴퓨터 공학에서 영속성이란 데이터를 생성한 프로그램이 종료되더라도 데이터가 유지되는 것을 의미합니다. 영속성 컨텍스트 영속성 컨텍스트를 '엔티티를 저장하는 환경'이라고 이해할 수 있습니다. 동작원리 EntityManagerFactory는 Entity Manager을 관리합니다. (하나의 Java Application에 하나의 EMF 존재) Entity Manager를 통해 Persistence Context에 접근합니다. 엔티티 매니저와 영속성 컨텍스트는 N:1이거나 1:1 관계이지만 저는 스프링 프레임워크를 사용하므로 N:1 관계입니다! 사용법 @Persistence..

Develop/Spring 2020.12.15

[Spring]테스트 기본 구조? 사용하면 편한 구조?

사실 spring에 들어갈 것은 아니지만 현재 공부하고 있는게 spring이라서 여기 폴더에 넣어야딩..ㅎ.ㅎㅎ 현재 Junit5을 사용하고 있는데 Junit을 좀 더 파악? 이해하고 어떤 기능들과 원리로 이루어진 것인지 추가로 글에 넣어야겠다! @Test public void THIS_IS_TEST() throws Exception { //given //when //then } given : 이런게 주어졌을 때 when : 이렇게 하면 then : 이렇게 된다 이 구조를 기반으로 자신이 편리한대로? 프로젝트에 맞게? 변경해서 사용하면 좋다고 하셨따!

Develop/Spring 2020.11.02

[Spring] DI(Dependency Injection)/의존성주입

개인적인 공부 용도로 제가 이해한대로 블라블라 쓰는 글입니당 :) 잘못된 부분이나 추가할 부분이 있으면 댓글 부탁드립니다! DI? 의존성 주입? List list = new ArrayList(); 위의 코드처럼 new를 사용하면 인스턴스가 생성된다. 인스턴스란 실제 메모리에 할당된 객체를 의미한다. 기존 알고리즘 문제를 풀거나 간단한 문제를 풀었을 때에는 위의 방식으로 인스턴스를 생성해 문제를 해결한 경험이 많다. 하지만 API를 만들어보며 DI가 왜 필요한지 이해를 했다. [예시] 기업 회원가입 페이지 (Enterprise.html) 일반 회원가입 페이지 (personal.html) User id int(AI) username varchar(50) password varchar(50) role int ..

Develop/Spring 2020.10.23

Spring이란?

취업 면접대비 및 개인 프로젝트 공부용입니다! 잘못된 내용이 있으면 댓글로 알려주세용 :) Spring Framework - 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크 Spring 특징 - 경량 컨테이너로서 자바 객체를 직접 관리 - 제어 역행(IoC) - 의존성 주입(DI) - 관점지향 프로그래밍(AOP) - MVC 패턴 - 배치 프레임워크 1. 컨테이너 컨테이너(Container)의 사전적 의미는 그릇으로 스프링 컨테이너는 객체를 관리합니다. 2. 제어 역행(IoC:Inversion of Control) 자바 기반의 애플리케이션을 개발하면 객체를 생성하고 연결하면서 제어권은 애플리케이션이 있습니다. 스프링의 경우 컨테이너에게 제어권이 넘어가며 컨테이너는 객체 생성, 소멸과 같은 라이프 사이클..

Develop/Spring 2020.10.17