Skip to content

Commit

Permalink
feat(add): 기본키 매핑
Browse files Browse the repository at this point in the history
  • Loading branch information
discphy committed Jan 23, 2024
1 parent ba9f1fa commit b11d127
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 59 deletions.
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,18 @@
- `@Temporal` : 날짜 매핑 - `LocalDate`, `LocalDateTime`의 경우에는 사용 안해도 된다.
- `@Transient` : 엔티티 생성 X
- `@Column``unique`에서는 잘 안쓰고 `@Table`에서 사용 (여러개 복합 및 키 이름 지정 가능)
- `@Enumerated` : 반드시 `EnumType.STRING`로 사용하는 편
- `@Enumerated` : 반드시 `EnumType.STRING`로 사용하는 편

### 기본 키 매핑

---

- `IDENTITY` : 기본 키 생성을 데이터베이스에 위임 - INSERT 쿼리 이후 ID를 알 수 있음
그러나, H2 Database가 업데이트 되었는지 ID를 지정 하지 않으면 다음과 같은 에러 발생
```log
ERROR: NULL not allowed for column "ID"; SQL statement:
```

- 기본키 제약 조건 : null 아님, 변하면 안된다.


4 changes: 2 additions & 2 deletions src/main/java/hellojpa/JpaMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ public static void main(String[] args) {

try {
Member member = new Member();
member.setId(3L);
member.setUsername("C");
member.setRoleType(RoleType.GUEST);

System.out.println("===========================");
em.persist(member);

tx.commit();
} catch (Exception e) {
tx.rollback();
Expand Down
58 changes: 2 additions & 56 deletions src/main/java/hellojpa/Member.java
Original file line number Diff line number Diff line change
@@ -1,31 +1,17 @@
package hellojpa;

import javax.persistence.*;
import java.util.Date;

@Entity
public class Member {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "name")
@Column(name = "name", nullable = false)
private String username;

private Integer age;

@Enumerated(EnumType.STRING)
private RoleType roleType;

@Temporal(TemporalType.TIMESTAMP)
private Date createdDate;

@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;

@Lob
private String description;

public Member() {
}

Expand All @@ -44,44 +30,4 @@ public String getUsername() {
public void setUsername(String username) {
this.username = username;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

public RoleType getRoleType() {
return roleType;
}

public void setRoleType(RoleType roleType) {
this.roleType = roleType;
}

public Date getCreatedDate() {
return createdDate;
}

public void setCreatedDate(Date createdDate) {
this.createdDate = createdDate;
}

public Date getLastModifiedDate() {
return lastModifiedDate;
}

public void setLastModifiedDate(Date lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}
}

0 comments on commit b11d127

Please sign in to comment.