본문 바로가기
반응형

스프링/JPA5

[JSP] 필터(Filter)란? 학습 목표 · 필터란? · 필터의 구현 · 필터 설정하기: web.xml 이용 · 필터 설정하기: @WebFilter 애노테이션 이용 · 필터의 응용 - 로그인 검사 필터 - TODO: XSL/T 필터 - TODO: 캐릭터 인코딩 필터 필터란? · HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 클래스 · 특징: - 객체 형태로 존재 - 클라이언트에서 오는 요청(request)과 최종 자원 사이에 위치하여, 클라이언트의 요청 정보를 알맞게 변경 가능 - 최종 자원과 클라이언트로가는 응답(response) 사이에 위치하여, 최종 자원의 요청 결과를 알맞게 변경 가능 · 클라이언트와 자원 사이에 여러 개의 필터가 모여 하나의 필터 체인을 형성할 수 있음 · 필터는 정보 뿐만 아니라 흐름도 변경할 수 있.. 2021. 10. 5.
[JPA] Spirng Data JPA에서 QueryDSL 사용하기 QueryDSL에 대한 이해와 사용 방법 설명합니다. 모든 설명은 프로젝트에 Spirng Data JPA 의존성이 추가된 것으로 가정합니다. 학습 목표 - QueryDSL이란? - 스프링부트에서 QuerySQL 사용하기 - Gradle에 QuerySQL 설정 추가 - QuerydslPredicateExecutor 인터페이스 - 테스트코드 작성 QueryDSL이란? ▶ JPA에서 동적으로 쿼리를 처리하는 방법 QueryDSL을 사용하는 이유는 무엇일까? 웹 애플리케이션에서 검색 기능을 구현할 때 검색 조건은 다양하게 구성된다. 다양한 검색 쿼리를 미리 등록해서 사용하면 비슷한 쿼리가 너무 많아져 관리하기 어렵다. QueryDSL을 사용하면 동적으로 쿼리를 처리하므로 해당 문제를 해결할 수 있다. 스프링부트.. 2021. 7. 20.
[JPA] 오류 해결: “Data too long for column” Spring Data JPA를 통해 아래와 같은 엔티티로 MySQL 데이터베이스에 테이블을 생성한다고 가정하자. @Entity public class SurveyAnswer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; Long userId; LoveType loveType; String answers; } 코드의 answers 변수처럼 String 타입을 설정하면, 기본적으로 255바이트의 varchar 타입 컬럼이 된다. 하지만 기본으로 설정된 255바이트의 길이가 넘는 문자열을 입력하면 다음과 같은 오류가 발생한다. “Data too long for column” 오류를 해결하려면, 컬럼의 길이를 늘려주면된다. 생성된 컬럼(a.. 2021. 5. 29.
[JPA] 오류해결: Field 'id' doesn't have a default value 아래 코드와 같이 작성된 엔티티를 통해 데이터베이스에 값을 입력하려 했지만, 다음과 같은 오류가 발생했다. Field 'id' doesn't have a default value 문제는 데이터베이스의 해당 테이블 Id 컬럼에 Auto Increment 설정이 적용되지 않아서 발생한 것이었다. 자동 생성을 원하는 컬럼에 Auto Increment 설정을 적용하면 문제는 해결된다. 2021. 5. 27.
[JPA] JPA란? 이 글은 JPA의 개념, JPA가 등장한 배경, JPA의 장-단점에 대해서 다룹니다. 추가적으로 가장 많은 자바 개발자가 사용하는 프레임워크인 스프링에서 어떻게 JPA를 사용하는지 알아봅니다. 학습목표 - JPA의 등장과 개념 - Spring Data JPA JPA의 등장과 개념 기존에 스프링에서는 관계형 데이터베이스(이하 RDBS)를 다룰 때 iBatis, MyBatis와 같이 쿼리를 매핑하는 SQL Mapper를 많이 사용했다. 하지만 이러한 기술은 객체 모델링보다 테이블 모델링에만 집중하게 만들고, 객체를 단순히 테이블에 맞추어 데이터를 전달하는 역할만 할 수 있다는 단점이 있었다. RDBS는 데이터를 어떻게 저장할지에 초점이 맞춰진 기술이다. 반대로 객체지향 프로그래밍 언어는 메시지를 기반으로 기.. 2021. 4. 20.
반응형