SpringBoot

JPA 초기 구현 시, API 요청 JSON 데이터를 바로 엔티티에 적용하여 개발했다. 하지만, 이렇게 코드를 구현하면서 문득 든 생각이 있었으니...  '만약 API 스펙이 변경되면 엔티티와 매핑이 되는건가...?'나의 의심은 역시나.. 실무에서 엔티티를 외부에 노출시키거나, 파라미터로 받으면 절대 절대!! 안된다!그 이유를 한번 살펴보겠다.1. 보안회사 및 서비스 데이터베이스 정보는 굉장히 민감한 정보이다. 엔티티를 직접 파라미터로 받거나 노출시킨다면, API를 호출하는 과정에서 엔티티에 대한 정보가 모두 노출될 수 있다. 이는 곧 서비스의 민감한 정보가 노출될 수 있음을 의미한다.  2. 유연성API 요청 스펙이 변경되면, 엔티티의 구조도 같이 변경해야할 수도 있다. 예를 들어, User라는 엔티티..
사용자 정의 레포지토리를 만들고, mybatis를 사용하려 했는데, 아래와 같은 에러가 났다.java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for getMainBoardList 저 에러는 여러가지 이유가 있을 수 있지만, 대게 DAO에서 호출하는 namespace 또는 쿼리명과 해당 mapper.xml의 namespace 또는 쿼리명과 일치하지 않는 경우 발생하는 에러인데, 난 분명 DAO에서 호출하는 namespace, 쿼리명과 mapper.xml의 namespace, 쿼리명이 일치하는데도 계속 해당 에러가 뜨길래, applications.yml의 mapper-location을 계속 수정해보고..
1. 영속성 컨텍스트란? (Persistence Context)영속성 컨텍스트란 엔티티 객체를 관리하는 일종의 저장소다. 데이터베이스와의 인터페이스 역할을 하며, 애플리케이션에서 객체의 상태를 관리한다. 영속성 컨텍스트에 의해 관리되는 객체는 영속 상태(Persistent state)로 간주되며, 데이터베이스와의 동기화가 이루어진다. 2. 영속성 컨텍스트의 주요기능1) 엔티티관리영속성 컨텍스트는 엔티티의 생명주기를 관리한다. 새로 생성된 엔티티는 영속성 컨텍스트에 의해 관리되고, 수정사항은 자동으로 데이터베이스에 반영된다. 2) 1차 캐시영속성 컨텍스트는 엔티티를 메모리에 저장하여, 동일한 엔티티에 대한 중복 조회를 방지한다. 이를 통해 성능을 향상시킬 수 있다. 3) 변경 감지엔티티의 상태가 변경되면,..
1. 서론JPA 프로젝트를 진행하면서 공부했던 내용을 정리하고자 한다. 섹션별로 간단히 회고할 예정이다. 2. 엔티티란?JPA에서의 엔티티란 데이터배이스에서 '테이블'과 매핑되는 자바 클래스이다.JPA 엔티티는 DB의 테이블 구조와 매핑되어 객체지향적으로 데이터를 다룰 수 있다.@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Employee{ @Id @GeneratedValue private Long id; /* ... */ } 1. @EntitySpring Framework에 엔티티 클래스임을 정의하는 어노테이션. 2. @GetterLombok에서 제공해 주는 getter 메서드 자동 ..
Developer KTU
'SpringBoot' 태그의 글 목록 (3 Page)