JPA 값 타입
엔티티 타입
- @Entity로 정의하는 개체
- 데이터가 변해도 식별자로 지속해서 추적 가능
값 타입
-식별자가 없고 값만 있으므르 변경시 추적 불가 ex) String, int, Integer 등
값 타입의 종류
기본값 타입
- 자바 기본 타입(int, double)
- 래퍼 클래스(Integer, Long)
- String
primitive 타입은 값 자체가 복사되므로 공유되지 않는다. 래퍼클래스나 String은 참조값을 공유하는 객체지만 변경될 수 없으므로 사이드 이펙트를 발생시키지않는다.(불변 객체라 그런 것 같다)
임베디드 타입(복합 값 타입)
엔티티에서 의미적으로 묶을 수 있는 값 타입을 모아서 새로운 값 타입으로 만들어 사용한다. @Embedded 를 엔티티에서 값타입을 사용하는 필드에 지정, @Embeddable을 정의한 클래스에 지정해 사용할 수 있다.
장점
- 임베디드 타입을 통해 여러 엔티티에서 중복되는 값 타입들 을 줄여 재사용성이 높힐 수 있다.
- 임베디드 타입에 대해 특화된 메소드들을 정의하여 엔티티를 더 간결하고 직관적으로 유지할 수 있다.
주의할 점
- 기본 생성자 꼭 만들기!!
- 한 엔티티에 여러 임베디드 타입을 사용할 경우 @AttributeOverrides 를 통해 컬럼명 재정의!
참고
https://www.inflearn.com/course/ORM-JPA-Basic/dashboard
자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의
JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런
www.inflearn.com
프로그래머스 level 2 - 타겟넘버
https://programmers.co.kr/learn/courses/30/lessons/43165
코딩테스트 연습 - 타겟 넘버
n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수
programmers.co.kr
어제 순열 문제 한번 풀었다고 DFS는 빠르게 익숙해지고 있는 것 같다. 내일 DFS 문제 한번 더 풀어보고 BFS도 공부해서 바로 풀어봐야겠다.
GitHub - unannn/CodingTestPractice: 코딩테스트 연습 문제 풀이 Repo 입니다.
코딩테스트 연습 문제 풀이 Repo 입니다. Contribute to unannn/CodingTestPractice development by creating an account on GitHub.
github.com
'TIL' 카테고리의 다른 글
[TIL 2022-2-28]스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (0) | 2022.02.28 |
---|---|
[TIL 2022-2-25] JPA 값 타입, PriorityQueue (0) | 2022.02.26 |
[TIL 2022-02-23] 지연로딩, 순열 알고리즘 (0) | 2022.02.24 |
[TIL 2022-02-22] JPA 프록시에 대해서, Set의 equals (0) | 2022.02.23 |
[TIL 2022-2-20] JPA 연관관계 매핑, 프로그래머스 (0) | 2022.02.21 |