스프링 16

[Spring] Pageable 인터페이스 사용해보기

Spring Data JPA에서 페이징 처리와 정렬은 findAll()이라는 메서드를 이용한다. findAll()은 JpaRepository 인터페이스의 상위인 PagingAndSortRepository의 메서드로 파라미터로 전달되는 'Pageable'이란 타입의 객체에 의해 실행되는 쿼리를 결정한다. Pageable 인터페이스? 페이지 처리를 위해 가장 중요한 건 org.springframework.data.domain.Pageable 인터페이스이다. Pageable은 페이지 처리에 필요한 정보는 전달하는 용도의 인터페이스 타입으로, 실제 객체를 생성할 때는 구현체인 org.springframework.data.domain.PageRequest라는 클래스를 사용한다. PageRequest? 이 클래스의..

스프링 2023.01.08

[Spring] JpaRepository 사용법

Spring Data JPa는 Hibernate를 이용하기 위한 여러 API를 제공하고 JpaRepository는 그 중 하나인 인터페이스이다. 사용법은 아주 간단하다. 이를 상속하는 인터페이스를 만들어주면 모든 처리가 끝나게 된다. Repository 생성 1 2 3 4 5 6 7 package com.study.zumsim.repository; import com.study.zumsim.entity.Memo; import org.springframework.data.jpa.repository.JpaRepository; public interface MemoRepository extends JpaRepository { } Colored by Color Scripter cs 정의한 내용을 사용 1 2 3..

스프링 2023.01.08

엔티티 클래스(Entity Class)

JPA를 공부하며 접하게 되는 엔티티 클래스는 데이터베이스 테이블에 대응하는 클래스로 테이블과 같은 구조로 작성합니다. @Entity 엔티티 클래스는 Spring Data JPA에서는 반드시 @Entity라는 어노테이션을 추가해야만 한다. 해당 클래스가 엔티티를 위한 클래스이며, 해당 클래스의 인스턴스들이 JPA로 관리되는 객체라는 것을 의미한다. 또한, 이 어노테이션이 붙은 클래스는 옵션에 따라 자동으로 테이블을 생성하고 멤버 변수에 따라 자동으로 컬럼을 생성하기도 한다. @Table @Entity와 같이 사용 할 수 있는 어노테이션으로 데이터베이스상에서 엔티티 클래스를 어떤 테이블로 생성 할 것인지에 대한 정보를 담기 위한 용도로 쓴다. 예로 @Table(name='user_table')로 작성시 u..

스프링 2023.01.08

[Spring JPA] ORM, Spring JPA 그리고 Hibernate

JPA를 공부하기에 앞서 ORM에 대해 알아야 한다. ORM이란? Object Relational Mapping의 약자로 단어에서 보듯 객체지향과 관련이 있다. 객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 기법이라고 생각하면 이해가 편할 것 같다. ORM은 '객체지향'의 구조가 '관계형 데이터베이스'와 유사하다는 점에서 시작했다. 책을 읽으며 이해한대로 정리해보았다. 객체지향 관계형 데이터 베이스 비고 클래스 Table 인스턴스 Row(레코드 혹은 튜플) 객체가 데이터+메서드라는 의미라면 Row는 데이터만을 의미 참조 관계 JPA란? JPA는 Java Persistence API의 약자로 ORM을 Java 언어에 맞게 사용하는 '스펙'이다. ORM이 좀 더 상위 개념이 되고, JPA는 Jav..

스프링 2023.01.08

RedirectAttributes

Redirect가 발생하면 원래 요청은 끊어지고, 새로운 HTTP GET 요청이 시작된다 = Redirect 실행 이전에 수행된 모델 데이터는 소멸한다. 하지만 Redirect 방법으로도 데이터를 전달하는 방법이 있다. Redirect는 GET 메소드 방식이라 파라미터가 URL에 노출되는 단점이 있어 스프링에서 RedirectAttributes 클래스를 제공한다. 해당 클래스 사용시 URL 뒤에 파라미터가 붙지 않아 POST 방식으로 전달하는 거 같지만 POST 방식은 아니다. RedirectAttributes는 Redirect가 발생하기 전에 모든 플래시 속성은 세션에 복사하고 그 이후엔 저장된 플래시 속성을 세션에서 모델로 이동시킨다. addAttribute로 전달한 값은 url뒤에 붙으며 리프레시해..

스프링 2021.05.06
728x90
반응형