인증(Authentication)인증은 해당 유저가 실제 유저인지 인증하는 개념.스마트폰에 지문인식, 이용하는 사이트에 로그인 등과 같이, 실제 그 유저가 맞는지를 확인하는 절차.인가(Authorization)인가는 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념.예를들어 관리자 페이지-관리자 권한 같은 것들을 들 수 있음.인증 - 로그인할 때(비밀번호 입력하고 제출 할 때)인가 - 회원/비회원 여부에 따라 다른 권한을 받는 것 웹 애플리케이션 인증의 특수성일반적으로 서버-클라이언트 구조로 되어있고, 실제로 이 두가지 요소는 아주 멀리 떨어져 있음.그리고 Http 라는 프로토콜을 이용하여 통신하는데, 그 통신은 비연결성(Connectionless) 무상태(Stateless)로 이루어짐.?..
Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공paRepository 인터페이스에서 해당 인터페이스와 매핑되어있는 테이블에 요청하고자하는 SQL을 메서드 이름을 사용하여 선언할 수 있음SimpleJpaRepository 클래스가 생성될 때 위처럼 직접 선언한 JpaRepository 인터페이스의 모든 메서드를 자동으로 구현해줌JpaRepository 인터페이스의 메서드 즉, Query Methods는 개발자가 이미 정의 되어있는 규칙에 맞게 메서드를 선언하면 해당 메서드 이름을 분석하여 SimpleJpaRepository에서 구현됨따라서 우리는 인터페이스에 필요한 SQL에 해당하는 메서드 이름 패턴으로 메서드를 선언 하기만 하면 따로 구현하..
영속성 컨텍스트 Persistence를 한글로 번역하면 영속성, 지속성 이라는 뜻Persistence를 객체의 관점으로 해석해 보자면 ‘객체가 생명(객체가 유지되는 시간)이나 공간(객체의 위치)을 자유롭게 유지하고 이동할수 있는 객체의 성질’을 의미 Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간 개발자들이 직접 SQL을 작성하지 않아도 JPA를 사용하여 DB에 데이터를 저장하거나 조회할 수 있으며 수정, 삭제 가능이러한 일련의 과정을 효율적으로 처리하기 위해 JPA는 영속성 컨텍스트에 Entity 객체들을 저장하여 관리하면서 DB와 소통 영속성 컨텍스트의 기능1차 캐시 영속성 컨텍스트는 내부적으로 캐시 저장소를 가지고 있음저장하는 Entity 객체들이 1차 캐시 즉, 캐시 저장소에 저..
EntityJPA에서 관리되는 클래스(= 객체)를 의미Entity 클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리데이터베이스에 쓰일 필드와 여러 엔티티 간 연관관계를 정의아래 표에서 세로의 열 부분이 Column, 가로의 행 부분이 Entity 객체, 테이블 전체가 Entity임컬럼 1컬럼 2컬럼 3컬럼 4엔티티 객체 1-1엔티티 객체 1-2엔티티 객체 1-3엔티티 객체 1-4엔티티 객체 2-1엔티티 객체 2-2엔티티 객체 2-3엔티티 객체 2-4필드 : 엔티티의 각 Columnjava private Long column1 Entity의 상태 비영속 (Transient)new 연산자를 통해 인스턴스화 된 Entity 객체를 의미아직 영속성 컨텍스트에 저장되지 않았기 때문에 JPA의 관리를 받지 않음..
ORM Object-Relational MappingObject : "객체"지향 언어 (자바, 파이썬)Relational : "관계형" 데이터베이스 (H2, MySQL)ORM은 이름 그대로 객체와 DB의 관계를 매핑 해주는 도구반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해서 ORM(객체 관계 매핑)기술들이 등장 JPA 자바 ORM 기술에 대한 표준 명세JPA는 애플리케이션과 JDBC 사이에서 동작되고 있음JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줌또한 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있음 하이버네이트(Hibernate)JPA 는 표준 명세이고, 이를 실제 구현한 프레임워크 중 사실상 표준이 ..