목차 개요 프로젝트를 진행하다보면 데이터베이스와의 상호작용에서 일시적인 필드를 사용해야 하는 경우가 종종 있다. 이런 경우에 단순한 작업의 경우에는 @Transient 어노테이션을 사용하여 필드를 영속성 컨텍스트에서 제외시킬 수 있다. 이 포스팅에서는 처음에 @Transient 어노테이션을 사용하여 구현하는 원리를 설명한 후, 나중에 Data Transfer Object(DTO)를 사용하여 레이어를 분리하는 방법에 대해 설명하고 그에 따른 장단점을 설명하겠다. @Transient 어노테이션을 사용한 구현 @Transient 어노테이션은 JPA에서 사용되며, 클래스의 필드를 영속성 컨텍스트에서 제외시켜서 해당 필드는 데이터베이스에 저장되지 않고, 데이터베이스로부터 로드되지도 않게된다. 위의 코드에서는 Bu..
DTO
목차 개요 (공식문서에는) 스프링 프레임워크는 강력한 기능을 제공하며, 각 구성 요소는 특정 역할을 수행하여 애플리케이션을 구축한다. 이 글에서는 스프링 프레임워크의 주요 구성 요소인 Controller, Config, DTO, Entity, Repository, Service의 역할에 대해 간단하게 알아본다. 또한 정석적인 설명은 타 블로그나 인터넷 확실하게는 공식문서에 전부 게시되어있기에 내가 느낀 방향대로 설명을 해보겠다. 구성요소들 Controller 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 담당한다. 이를 통해 웹 요청을 받고 적절한 서비스를 호출하여 결과를 반환하며, HTTP 응답을 생성한다. 요즘 통용되는 RESTful한 설계 방식에 있어서 @RestController 이라는 어노..