728x90

java 42

[ JPA ] 영속성 컨텍스트(Persistence Context) 개념 정리 및 사용법

영속성 컨텍스트(Persistence Context) 영속성 컨텍스트(Persistence Context)란 엔티티를 영구 저장하는 환경이라는 뜻으로, 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 이 과정에서 가상의 데이터베이스에 저장할 때 EntityManager를 사용하는데 개념은 아래에서 다루겠다. 영속성 컨텍스트는 JPA를 이해하는데 가장 중요한 용어이다. 간단하게 정리하면 다음과 같다. 영속성 컨텍스트는 논리적인 개념 눈에 보이지 않음 엔티티 매니저를 통해 영속성 컨텍스트에 접근 즉, EntityManager로 Entity를 저장하거나 조회하면 EntityManager는 영속성 컨텍스트에 Entity를 보관하고 관리한다. EntityManageFac..

[ ORM ]/JPA 2024.02.21

[ JPA ] JPA 소개

JPA? 실무에서 개발을 하다 보면 Mybatis를 활용해서 CRUD 기능을 직접적인 쿼리 작성으로 구현하는 방식을 많이 접할 것이다. 이렇듯 SQL에 의존적인 개발을 피하기 어렵다. 하지만 지금 시대는 객체를 관계형 데이터베이스에 저장하는 방식이고, SQL에 의존적인 개발을 하다 보면 모델링을 할수록 매핑 작업이 늘어나는 과정을 매일 겪을 것이다. 객체를 자바 컬렉션에 저장하듯이 DB에 저장할 수는 없을까? 이러한 고충을 해결할 수 있는 ORM 기술이 JPA(Java Persistence API) 자바 진영의 기술 표준이다. ORM? ORM이란 Object Relational Mapping의 약자로 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다. 객체 지향 프로그래밍은 클..

[ ORM ]/JPA 2024.02.15

[ Spring ] File Upload - Spring

이전 포스팅에서 Servlet이 제공하는 Part를 사용해서 파일 업로드 하는 방법에 대해 알아봤습니다. 이어서 Spring이 이 부분을 얼마나 편리하게 제공하는지 알아보겠습니다. [ Spring ] File Upload - Servlet File Upload - 소개 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. ■ HTML 폼 전송 방식 application/x-www-form-urlencoded mul drg2524.tistory.com Spring File Upload Spring은 MultipartFile이라는 Interface로 멀티파트 파일을 매우 편리하게 지원한다. SpringUploadControlle..

[ Spring ] File Upload - Servlet

File Upload - 소개 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. ■ HTML 폼 전송 방식 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 방식 application/x-www-form-urlencoded 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. Form 태그에 별도의 enctype 옵션이 없으면 웹 브라우저는 요청 HTTP 메시지의 헤더에 다음 내용을 추가한다. Content-type : application/x-www-form-urlencoded 그리고 폼에 입력한 ..

[ Spring ] Spring Type Converter - Formatter

이전 포스팅에 이어서 진행하겠습니다. Converter에 대한 개념을 먼저 알아보시면 이해하는데 도움이 될 거 같습니다. [ Spring ] Spring Type Converter 이전 포스팅에서 Spring Exception Handling에 대해 알아봤습니다. 오늘은 Spring Type Converter 정리를 해보겠습니다. Spring Type Converter 문자를 숫자로 변환하거나, 반대로 숫자를 문자로 변환해야 하는 것처 drg2524.tistory.com Formatter Converter는 입력과 출력 타입에 제한이 없는, 범용 타입 변환 기능을 제공한다. 이번에는 일반적인 웹 애플리케이션 환경을 생각해 보자. 불린 타입을 숫자로 바꾸는 것 같은 범용 기능보다는 개발자 입장에서 문자를 ..

[ Spring ] Spring Type Converter

이전 포스팅에서 Spring Exception Handling에 대해 알아봤습니다. 오늘은 Spring Type Converter 정리를 해보겠습니다. Spring Type Converter 문자를 숫자로 변환하거나, 반대로 숫자를 문자로 변환해야 하는 것처럼 애플리케이션을 개발하다 보면 타입을 변환해야 하는 경우가 상당히 많다. 다음 예를 보자. HelloController - 문자 타입을 숫자 타입으로 변경 import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest..

[ Spring ] API Exception Handling - ExceptionResolver

이전 포스팅에 이어서 API Exception Handling 진행하겠습니다. Spring이 제공하는 ExceptionResolver를 사용하기 전에 직접 ExceptionResolver를 구현해 봤지만 상당히 복잡한 관계로 사용하기가 어려웠다. 이 포스팅을 읽기 전에 아래 글을 읽고 오면 이해하는데 조금이나마 도움이 될 거 같다. [ Spring ] API Exception Handling API Exception Handling - start 이전 포스팅에서 Servlet Exception Handling 하는 방법에 대한 포스팅을 작성했는데, API 예외 처리는 어떻게 해야 할까? HTML 페이지의 경우 4xx, 5xx와 같은 오류 페이지만 있으면 drg2524.tistory.com API Exce..

[ Spring ] API Exception Handling

API Exception Handling - start 이전 포스팅에서 Servlet Exception Handling 하는 방법에 대한 포스팅을 작성했는데, API 예외 처리는 어떻게 해야 할까? HTML 페이지의 경우 4xx, 5xx와 같은 오류 페이지만 있으면 대부분의 문제를 해결할 수 있다. 그런데 API의 경우에는 생각할 내용이 더 많다. 오류 페이지는 단순히 고객에게 오류 화면을 보여주고 끝이지만, API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다. 지금부터 API의 경우 어떻게 예외 처리를 하면 좋은지 알아보자. API도 오류 페이지에서 설명했던 것처럼 처음으로 돌아가서 서블릿 오류 페이지 방식을 사용해 보자. 예제 코드로는 이전 소스를 활용하겠다..

[ jQuery ] Validation Plugin - 유효성 검사

오늘은 실무에서 DataTables와 함께 사용되고 있는 jQuery Validation Plugin에 대한 포스팅을 해보겠습니다. DataTables Plugin에 대해 알아보시는 분들은 아래 포스팅을 참고해 보시면 도움이 될 거 같습니다. [ JQuery ] DataTables - Ajax Table Data 출력 오늘은 실무에서 JavaScript Source의 바탕으로 사용되고 있는 DataTables 라이브러리에 대해 포스팅해보겠습니다. 현재 LG 프로젝트 진행 중에 소스를 분석하면서 DataTables라는 라이브러리를 접하면서 drg2524.tistory.com Validation Plugin jQuery Validation은 유효성 검사를 쉽게 사용할 수 있도록 도와주는 플러그인입니다. 웹 ..

[ Spring ] 예외 처리와 오류 페이지 - Servlet Exception Handling(Filter , Interceptor)

이어서 Servlet Exception Handling 포스팅 진행하겠습니다. 이번 포스팅의 목표는 예외 처리에 따른 필터와 인터셉터 그리고 서블릿이 제공하는 DispatchType에 대해 이해하는 부분을 중점으로 글을 작성하겠습니다. [ Spring ] 예외 처리와 오류 페이지 - Servlet Exception Handling(오류 페이지 작동 원리) 오늘부터 예외 처리와 오류 페이지 적용 및 작동 원리에 대해 포스팅을 진행해 보겠습니다. 예외를 처리하거나 핸들링하는 방법은 실무에서는 꼭 필요한 챕터입니다. 그래서 서블릿부터 시작해 drg2524.tistory.com Servlet Exception Handling - Filter 예외 발생과 오류 페이지 요청 흐름 1. WAS(여기까지 전파) CON..

728x90