Programming9 [자바 ORM 표준 JPA 프로그래밍] 영속성 관리 개요 JPA 영속성 컨텍스트에 대해 알아보자. 목차 영속성 컨텍스트란? 영속성 컨텍스트의 이점 Entity의 생명주기 (Entity LifeCycle) 영속성 컨텍스트란 정의 엔티티를 영구 저장하는 환경 EntityManager로 접근 가능 실제로 DB에 접근하기전에 영속성 컨텍스트 환경에 엔티티를 영속화 하겠다는 의미 (*영속화 : 참고 블로그 링크) EntityManager와의 관계 기본적으로 하나의 엔티티 매니저가 생성되면 1:1로 하나의 영속성 컨텍스트가 생성된다. 하지만 스프링 프레임워크와 같은 컨테이너 환경의 JPA에서는 여러 엔티티 매니저가 하나의 영속성 컨텍스트를 공유하게 된다. 컨테이너 환경에서의 JPA 컨테이너를 사용하는 스프링과 같은 환경에서는 개발자가 EntityManager를 생성.. 2022. 11. 27. [자바 ORM 표준 JPA 프로그래밍] JPA 소개 개요 JPA 도입이 필요한 이유와 JPA가 무엇인지 알아보자. 목차 SQL을 직접 다룰 때 발생하는 문제점 패러다임의 불일치 해결을 위한 JPA 특징 JPA 란? SQL을 직접 다룰 때 발생하는 문제점 SQL mapper 를 사용하여 애플리케이션을 개발할 때의 문제점은 대표적으로 아래와 같다. - 엔티티를 신뢰할 수 없다. - SQL에 의존적인 개발을 하게 된다. 프로그램 운영을 하다보면 내부의 복잡성이 커지게 되는데, 그것에 대한 유지보수를 하기 어려워진다. 예를 들어, 회원테이블에 소속학교 필드를 하나 추가하는 단순한 작업만 살펴보아도 그렇다. 실 DB에 컬럼을 추가한 뒤, 해당 필드에 대한 조회,수정을 하는 작업을 하기위해서는 1.회원 클래스에 소속학교 필드 추가 2. select SQL, upda.. 2022. 11. 23. [iBatis/MyBatis] insert return key /* query */ SELECT LAST_INSERT_ID() int id = commonDB.insert(NAMESPACE + "insertData", dataClss); id 값을 리턴 받는 곳 : DAO 클래스에서 insert문을 호출하는 구문 Ref. https://marobiana.tistory.com/23 2020. 10. 28. [ibatis/Mybatis] SqlMap.xml 기본 예제 1. iBatis 사용법 sqlMap 태그를 통해 안에 쿼리문을 정의한다. 속성 namespace : 자바 DAO 클래스에서 해당 SqlMap파일을 찾는 id역할이다. resultMap은 select된 쿼리 (쿼리의 결과)를 담을 Entity Bean을 지정한다. 속성 column : select쿼리의 column이다. 속성 property : 자바 DAO 클래스의 필드값이다. 2. 가상테이블 dual 사용법 2020. 10. 12. [NodeJS] Passport 기반 인증 처리 * 전체흐름 Passport 모듈을 이용해서 db에 내용 저장 후, 결과를 받아서 세션을 만들어서 로그인을 한다. * 사전준비 npm install passport passport-local express-session connect-flash —save -dev 1. passport (1) passport 란? passport 는 Node.js의 인증 미들웨어이다. 일반적으로 사용자는 username 과 password를 제공하여 로그인한다. 소셜 네트워킹의 등장으로 OAuth 공급자를 사용한 SSO(single sign on)이 널리 사용되는 인증 방법이 되었다. API를 호출하는 서비스는 액세스를 보호하기 위해 토큰 기반 자격 증명이 필요하다. Passport는 각 응용 프로그램마다 고유의.. 2020. 10. 11. [스프링부트와 AWS로 혼자 구현하는 웹서비스] Web Layer, Service Layer, Repository Layer 요약 *API를 만들기 위한 3개의 클래스 * Spring 웹 계층 스프링 웹 계층에 대해 알아보기에 앞서, API 서버에 필요한 클래스는 크게 3개가 있다. * Request 데이터를 받는 Dto * API 요청을 받을 Controller * 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 스프링 웹 계층에서 위의 3가지 클래스들이 어떤 구조를 이루며 구현되는 것이 좋을지 알아보자. Spring 웹 계층 Web Layer 외부 요청 (@Filter, 인터셉터, @ControllerAdvice) 에 대한 전반적인 영역 컨트롤러 (@Controller), 뷰/템플릿 영역 Service Layer @Service에 사용되는 서비스 영역 @Transactional이 사용되어야 하는 영역 트랜잭션과 .. 2020. 7. 23. 이전 1 2 다음