[Spring] RowMapper란 ?
- Spring
- · 2024. 5. 12.
1. 소개 Spring Data JPA를 사용하다 보면, 단일 필드가 아닌 여러 개의 필드를 조합하여 기본 키(Primary Key)로 사용하는 복합 키(Composite Key) 를 설정해야 할 때가 있다. JPA에서 복합 키를 매핑하는 방법은 크게 두 가지이다.@EmbeddedId + @Embeddable@IdClass이번 글에서는 두 방법을 비교하고, 코드 예제를 통해 직접 실습할 수 있도록 정리해보겠다.2. @EmbeddedId 방식 (추천 방식) @EmbeddedId + @Embeddable 1. @Embeddable: 복합 키 클래스로 사용할 객체에 선언2. @EmbeddedId: 엔티티에서 해당 복합 키를 기본 키로 사용 (1) 복합 키 정의 (OrderId 클래스)import java.i..
1. 소개Spring Data JPA를 사용하면 엔티티의 생성 및 수정 시간을 자동으로 관리할 수 있다. 이를 위해 @EnableJpaAuditing, @EntityListeners, @CreatedDate, @LastModifiedDate 등의 어노테이션을 활용 할 수 있다.이번 글에서는 해당 어노테이션들의 역할과 사용법을 정리해보겠다. 2. 코드 예제아래는 Spring Data JPA의 Auditing 기능을 사용하는 예제 코드이다.@EntityListeners(EntityListeners.class)@MappedSuperclass@Getterpublic class TimeBaseEntity { @CreatedDate @Column(updatable = false) private Lo..
Entity ORM 기술을 적용하다보면 엔티티를 쉽게 마주치게 된다. 영속성 관리를 위한 객체이기 때문이다. 새로운 프로젝트를 시작하면서 엔티티를 새로 생성하는데 엔티티에 쓰이는 어노테이션이 어떤게 있고 왜 쓰지? 이게 궁금해져서 정보를 수집한 뒤, 글을 남겨본다 먼저 코드를 보자 @Entity public class User extends UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 100, nullable = false) private String email; @Column(length = 100, nullable = false) private String pw..
이번 포스팅에서는 앞서 진행한 Nginx와 Spring Server 1대간 연동을 응용한 무중단 배포에 대해서 포스팅하겠다. 실습에 앞서 이전에 사용하였던 Nginx이 설치된 가상 머신과 Spring Server가 설치된 가상머신에 더해 2개의 가상머신을 추가적으로 준비해서 실습을 진행하겠다. -이전 포스팅 : https://dokhakbaksa.tistory.com/45 [Spring] Nginx에 Spring Server 연동하기 이번 포스팅에서는 앞서 설명한 nginx를 활용하여 가상 서버를 연결하는 작업을 해보도록 하겠다. 본 글쓴이는 빠른 실습을 위해 1대의 nginx와 1대의 가상머신만 준비해서 실습을 진행해보도록 하 dokhakbaksa.tistory.com 실습에 앞서 무중단 배포에 대하여..
지금까지 해온 모든 실습들은 http 프로토콜을 적용해서 보안의 측면에서 치명적인 문제점을 지니고 있었다. 첫 nginx 포스팅에서 다루었던 SSL을 적용하여 https 프로토콜을 활용해보도록 하겠다.