이 글은 김영한의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 정리한 글입니다.
👉 기본 환경
- Language: Java
- DB: H2 Database
- IDE: IntelliJ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
@Entity
public class Member {
@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
private String name;
private String city;
private String street;
private String zipcode;
@OneToMany(mappedBy = "member")
private List<Order> orders = new ArrayList<>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}
|
Member : Order = 1 : 다
1명의 사용자가 여러개의 주문을 할 수 있으므로 Order는 List로 저장
private List<Order> orders; 가 아닌 private List<Order> orders = new ArrayList<>(); 이유
- private List<Order> orders는 기본적으로 null값을 갖게 됨
- 초기화를 하지 않고 orders에 대한 연산 실행 시, NullPointerException이 발생할 수 있음
- 그러므로 Entity에서 초기화하여 NullPonterException 방지
'Java > JPA' 카테고리의 다른 글
[JPA_Basic] ERD를 기반으로 한 Entity 작성 (0) | 2023.08.17 |
---|---|
[JPA_Basic] 다대다 매핑 (0) | 2023.08.16 |
[JPA_Basic] 양방향 매핑 시, 값이 입력되지 않는 경우 (0) | 2023.08.13 |
[JPA_Basic] 객체 지향 모델링 (0) | 2023.08.08 |
[JPA_Basic] 기본키 매핑 (0) | 2023.08.05 |