profile
아임쿨
태그 목록
전체보기 (35)N+1 문제(3)JPQL(2)생성자(2)의존성 주입(2)페치 조인(2)서블릿(2)영속성 컨텍스트(1)빈 라이프사이클(1)@Validated(1)@MappedSuperclass(1)Dispatcher-Servlet(1)JPA(1)고아 객체(1)메모리(1)MessageCodesResolver(1)스프링 빈(1)예외 처리(1)component(1)ManyToOne(1)양방향 연관관계(1)연관관계의 주인(1)불변성(1)Primary(1)쓰레드(1)ORM(1)Autowired(1)Qualifier(1)@PathVariable(1)@ResponseBody(1)@SessionAttribute(1)ResponseEntity(1)세션(1)쿠키(1)엔티티(1)FieldError(1)@Valid(1)@DateTimeFormat(1)지연 로딩(1)modelattribute(1)RequestMapping(1)ConversionService(1)객체(1)1차 캐시(1)validation(1)BeanValidation(1)스프링 컨테이너(1)ReturnValueHandler(1)인스턴스화(1)@ExceptionHandler(1)MVC(1)검증(1)try-finally(1)빈 콜백(1)배치 사이즈(1)HandlerExceptionResolver(1)SOLID(1)entity(1)싱글턴(1)웹서버(1)ArgumentResolver(1)RestController(1)ComponentScan(1)연관관계 매핑(1)프록시(1)COLUMN(1)@NumberFormat(1)영속성 전이(1)의존 객체 주입(1)WAS(1)@DiscriminatorValue(1)오토 박싱(1)MessageConverter(1)dependency injection(1)controlleradvice(1)ObjectError(1)Enum(1)DI 컨테이너(1)RequestBody(1)단방향 연관관계(1)dependency(1)try-with-resources(1)임베디드 타입(1)즉시 로딩(1)필터(1)Table(1)기본키(1)@CookieValue(1)BindingResult(1)@DiscriminatorColumn(1)값 타입(1)인터셉터(1)@RequestParam(1)빌더(1)의존성(1)상속관계 매핑(1)OneToOne(1)외래키(1)정적 팩터리 메서드(1)연관관계 편의메서드(1)동시성(1)변경 감지(1)엔티티 생명주기(1)
post-thumbnail

[JPA] 성능 최적화

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.이 도메인 모델을 통해 JPA를 통해 API를 어떻게 설계하고 연관된 엔티티를 어떻게 조회하는 것이 바람직한지 살펴볼 것이다.Category, Album, Movie 엔티티는 예제에 등장하지 않기 때문에

2022년 4월 13일
·
0개의 댓글
·
post-thumbnail

[JPA] JPQL(2)

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.모든 객체는 서로 참조를 통해 마치 그래프처럼 연결되있다. 자바에서 .(점)을 찍어서 연결된 객체로 이동할 수 있다.엔티티도 객체기 때문에 마찬가지다. 엔티티들은 연관관계를 통해 객체 그래프를 이룬다. J

2022년 4월 10일
·
0개의 댓글
·
post-thumbnail

[JPA] JPQL(1)

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.이전 글들에서 JPA를 통해 데이터베이스의 테이블을 객체지향적으로 설계한 엔티티로 매핑하는 방법을 알아보았다. 매핑을 다 마쳤다면 자바 애플리케이션에서 데이터베이스에 접근하는 방법을 알아볼 필요가 있다.

2022년 4월 10일
·
0개의 댓글
·
post-thumbnail

[JPA] 값 타입

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.JPA에서 데이터의 타입은 두 가지로 나뉜다.엔티티 타입@Entity로 정의한 객체식별자로 추적 가능값 타입int, Integer, String 처럼 값을 표현하는 기본 타입이나 객체식별자가 없기 때문에

2022년 4월 8일
·
0개의 댓글
·
post-thumbnail

[JPA] 영속성 전이와 고아 객체

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.영속성 전이는 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용한다. 영속성 전이는 연관관계를 매핑하고 연관관계의 주인을 설정하는 것과 아무 관련이 없다. 단지 엔

2022년 4월 8일
·
0개의 댓글
·
post-thumbnail

[JPA] 프록시와 지연 로딩

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.아래 그림을 살펴보자. Member 엔티티는 Team 엔티티와 1:N 연관관계를 가진다.Member를 조회할 때 Team도 함께 조회해야될까? 상황에 따라 다르다. 만약 Team 엔티티를 사용하지 않는다면

2022년 4월 7일
·
0개의 댓글
·
post-thumbnail

[JPA] 상속관계 매핑

객체지향에는 아래와 같이 클래스끼리 상속관계가 존재한다.그러나 관계형 데이터베이스는 상속관계를 지원하지 않는다. 그 대신 데이터베이스의 슈퍼타입, 서브타입 관계라는 모델링 기법을 통해 객체의 상속관계를 매핑할 수 있다.위의 그림은 Item을 슈퍼타입으로 Album, M

2022년 4월 6일
·
0개의 댓글
·
post-thumbnail

[JPA] 연관관계 매핑(2)

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.연관관계 매핑시 고려할 사항은 크게 3가지다.방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)연관관계의 주인(

2022년 4월 6일
·
0개의 댓글
·
post-thumbnail

[JPA] 연관관계 매핑(1)

엔티티와 테이블은 모두 서로 연관관계를 맺는다. 객체는 참조로 관계를 맺고 테이블은 외래키로 관계를 맺는다. 연관관계를 이해하기 위해 몇가지 용어를 짚고 넘어가자.방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N

2022년 4월 5일
·
0개의 댓글
·
post-thumbnail

[JPA] 엔티티 매핑

엔티티는 DB의 테이블과 매핑되는 클래스다.엔티티에 클래스에 붙이는 @Entity 애노테이션을 알아보자.@Entity 애노테이션을 클래스에 필수적으로 붙여야 JPA가 해당 클래스를 엔티티로 인식하고 관리할 수 있게된다. 엔티티 클래스를 작성할 때 주의사항이 몇 가지 있

2022년 4월 4일
·
0개의 댓글
·
post-thumbnail

[JPA] 영속성 컨텍스트

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.영속성 컨텍스트는 눈에 보이지 않는 논리적인 개념이다. 영어로 PersistenceContext 라고 하며 이름처럼 엔티티를 영구 저장하는 환경이라고 볼 수 있다.애플리케이션에서는 EntityManager

2022년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Effective-Java] Item9 - try-finally보다는 try-with-resources를 사용하라

자바 라이브러리는 close 메서드를 통해 호출해 닫아줘야 하는 자원이 많다.InputStream, OutputStreamjava.sql.Connectionclose 메서드가 호출되지 않으면 이는 성능 문제로 이어질 수 있다. 전통적으로 close 메서드는 try-fi

2022년 4월 2일
·
0개의 댓글
·
post-thumbnail

[JPA] ORM과 JPA

본 글은 인프런 김영한님의 JPA 로드맵을 기반으로 정리했습니다.백엔드 웹 애플리케이션의 헤게모니는 객체지향이 쥐고있다. 객체지향은 추상화, 캡슐화, 상속, 다형성 등을 통해 복잡한 시스템을 변경에 유연하고 확장이 용이하도록 관리한다.그러나 관계형 데이터베이스의 헤게모

2022년 4월 2일
·
0개의 댓글
·
post-thumbnail

[Spring] 타입 컨버터, 포맷터

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.애플리케이션을 개발하면 문자<->숫자 간의 변환처럼 타입을 변환해야 하는 경우가 많다. 스프링은 타입변환을 해주는 다양한 컨버터 및 포맷터를 제공해준다. 개발자가 직접 만든 타입의 경우 직

2022년 3월 12일
·
0개의 댓글
·
post-thumbnail

[Spring] 예외처리

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.예외 처리는 애플리케이션의 매우 중요한 부분입니다.MVC 예외 처리는 서블릿의 기능을 사용할 수도 있고 스프링 부트가 제공하는 기능을 사용할 수도 있습니다. 먼저, 서블릿이 제공하는 기능을 살펴

2022년 3월 10일
·
0개의 댓글
·
post-thumbnail

[Spring] 필터, 인터셉터

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.이전 글에서 세션과 쿠키를 사용해서 무상태 HTTP 프로토콜에서 로그인(상태)를 유지하는 방법을 알아봤다.특정 기능을 로그인한 유저만 사용할 수 있도록 제한하고 싶은 상황이 있다고 생각해보자.컨

2022년 3월 6일
·
0개의 댓글
·
post-thumbnail

[Spring] 쿠키, 세션

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.HTTP 는 무상태 프로토콜이기 때문에 이전 요청을 기억하지 않는다. 모든 요청을 새로운 요청으로 간주한다는 것이다. 그런데, 웹사이트들은 로그인, 로그아웃 등의 기능을 제공한다. 모든 요청을

2022년 3월 5일
·
0개의 댓글
·
post-thumbnail

[Spring] 검증(2) - BeanValidation

검증 기능을 매번 코드로 작성하기는 번거롭다. 객체 검증은 어쩔수 없지만 특정 필드에 대한 검증은 대부분 빈 값인지 아닌지, 특정 범위내에 있는지와 같이 매우 일반적인 경우가 많다. 이 때 애노테이션을 사용하여 다음처럼 검증을 매우 간단하고 명확하게 할 수 있다. 이전

2022년 3월 3일
·
0개의 댓글
·
post-thumbnail

[Spring] 검증(1) - BindingResult, MessageCodesResolver

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.웹 애플리케이션은 필수적으로 사용자가 입력한 값을 검증해야한다. 사용자가 숫자 타입을 문자 타입으로 입력하는 등 값이 올바르지 않은 경우 서버는 요청을 거절하고 입력한 데이터를 유지한 상태로 어

2022년 3월 3일
·
0개의 댓글
·
post-thumbnail

[Spring] SpringMVC

본 글은 인프런 김영한님의 스프링 완전 정복 로드맵을 기반으로 정리했습니다.해당 글은 스프링MVC가 제공하는 기능을 코드 위주로 살펴봅니다. 스프링이 제공하는 기능을 지탱하는 개념은 이전 글을 참고해주세요.@RequestMapping애노테이션이 붙은 핸들러는 Reque

2022년 2월 24일
·
0개의 댓글
·