목록개발자/workflow 리팩토링 프로젝트(SpringBoot,JPA,MySQL) (24)
개발자

Entity 란? Entity란 DB에서 영속적으로 저장된 데이터를 자바 객체로 매핑하여 '인스턴스의 형태'로 존재하는 데이터를 말한다. 쉽게 풀어보자면 테이블에 대응하는 하나의 클래스이다. 엔티티 라는 용어는 때로는 클래스를 의미하는 경우도 있고, 클래스에 의해 생성된 인스턴스를 의미하는 경우가 있다. 엔티티 클래스와 엔티티 인스턴스 혹은 엔티티 객체라는 표현이 정확하다. 엔티티는 영속성을 가진 객체로 DB테이블에 보관할 대상이다. 즉 영속 컨텍스트에 속한 객체를 말한다.(이 개념은 아래에서 추가 설명) Entity Manager 엔티티 매니저는 엔티티 객체들을 관리하는 역할을 한다.(관리하는 역할을 수행하는 클래스) 여기서 관리란 Life Cycle이라고 할수 있다. 엔티티 매니저는 관리하는 엔티티 ..

ORM(Object Relational Mapping)이란? JPA 개념을 알아보기 전에 ORM 개념을 먼저 알아야 한다 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑하는 기술을 말한다. 기술적으로는 어플리케이션의 객체를 RDB테이블에 자동으로 영속화 해주는 것 [DB data ------ Mapping ------ Object] 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다 비교되는 개념으로는 SQL Maper가 있다. [SQL ------ Mapping ------ Object] ● 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. ● 객체 모델과 관계형 모델간에 불일치가 존재한다.(아래 jpa에서 추가설명) ● ORM을 통해 객체 간의 관계를 바탕으로 S..

callback 함수란? : callback 함수를 이해하려면 동기적,비동기적으로 실행되는 함수를 이해해야 한다. 프로그램 또는 함수가 동기적으로 실행된다는 의미는 A함수가 호출되고, A작업이 완료될 때까지 기다렸다가, A함수가 출력값을 반환한 이후에, B함수를 실행하겠다는 것을 의미한다. A함수를 동기적으로 선언했을 경우, 프로그램은 로직의 흐름에 따라 A함수를 호출하기만 하고, B함수를 즉시 실행하게 된다. 이때, A 함수의 작업을 Main Thread가 아닌 별도의 Thread에서 처리하게 되고, 해당 작업은 완료된 이후에, Main Thread를 Call하게 된다. 호출된 비동기 A함수에서 작업을 완료한 이후에, 반대로 call을 하기 때문에 비동기 함수의 작업 완료시, 호출되는 함수를 Callb..

이 프로젝트는 Spring Mybatis Oracle 로 진행했던 프로젝트를 SpringBoot JPA MySQL을 이용한 프로젝트로 리팩토링하기 위한 프로젝트이다. SpringBoot와 MySQL 연동, JPA를 사용하기 위한 준비 build.gradle 에 추가해 주어야 하는 항목들이다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 첫번째 설정은 jpa를 사용하기 위해 필요한 라이브러리를 다운받는 dependeny이다. implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.32' 두번째 설절을 살펴보자, 위 설정은 mysql 의존성을 주입해..