진짜 개발자
본문 바로가기

FrameWork/Spring JPA (총 22개)

JPA - Entity의 가독성을 높이자 - 2 (Embedded Id 사용법) DDD 를 진행하며 Entity의 가독성에 대한 고민을 많이 하기 시작했습니다 DDD 를 진행하며 Entity의 가독성에 대한 고민을 많이 하기 시작했습니다. 각각의 앱들은 자신들만의 도메인 제약사항을 가지고 있으며, 그에 따라 키값도 특별하게 설정되는 경우가 있었습니다. 예를들어 보통의 경우에는 RDBMS의 Auto_Increment를 설정을 이용하며, Long타입으로 Entity의 Id를 설정했지만, 이번에 진행하는 App에서는 조금 특별한 ID를 설정해야하는 경우가 있었습니다. 조금 더 자세히 설명드리자면, UserEntity의 경우에는 Google Oauth2를 통해 발급된 AccessToken을 Id로 사용하며, WorkPlaceEntity라는 이름의 엔티티의 경우에는 사업자 번호를 ID로 사용..
JPA - Entity의 가독성을 높이자(@Embedded, @Embeddable, @AttributeOverride 사용법) @Embedded, @AttributeOverride JPA에서는 Entity안의 값을 조금 더 의미있는 값으로 표현하기 위해 응집된 하나의 객체로 데이터를 표현합니다. 이번 포스팅에서는 이 처럼 JPA의 Entity를 조금 더 확실한 의미로 표현하는 방법과, 그에 따라 발생하는 중복 column에러를 해결하는 방법을 알아보겠습니다. 1. @Embedded , @Embeddable 1.1 시나리오일반적인 회원가입의 경우에 회원을 표현하는 간단한 방법을 알아보고, 이를 좀더 의미있는 객체로 표현하는 방법을 알아보겠습니다. @Entity@Table(name = "user")public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) priv..
JPA - Enum을 이용해 Column 저장하기 JPA 에서 Enum 값 사용하기 DDD를 공부하며 jpa를 사용하던 도중 User의 authority값을 정하기 위해서 Enum을 사용하면 조금더 직관적이겠다 싶어서 Enum을 사용하게 되었습니다. 이때 사용했던 것들에 대해 간단히 정리해보도록 하겠습니다. 1. 예제에 사용될 Entity 와 Enum우선 예제에 사용될 Entity와 Enum클래스들을 살펴보겠습니다. 바로 위에 보이는 클래스가 Entity클래스 입니다. JPA에 대한 사용법을 알려드리는 포스팅이 아니므로 자세한 설명은 넘어가도록 하겠습니다. 하나 짚고 넘어갈 것은, JPA에서 Entity 내부에 Column으로 Java Class를 추가 하기 위해서는 @Embedded 어노테이션을 사용해야하지만, Enum의 경우에는 해당 어노테이션이 필..