๐ JPA(Java Persistence API)
JPA(Java Persistence API)๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋งคํ์ ๋จ์ํํ๋ ํ์ค API์ด๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ JPA๋ฅผ ํ์ฉํ์ฌ ํ์ ์ ๋ณด ๊ด๋ฆฌ ์์คํ ์ ๊ตฌํํ๋ค.
๐ํ์ ์ ๋ณด ์ํฐํฐ ํด๋์ค ์ค๊ณ
ํ์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ํฐํฐ ํด๋์ค์ธ UserEntity๊ฐ ํ์ํ๋ค. ์ด ํด๋์ค๋ MEMBER ํ ์ด๋ธ๊ณผ ๋งคํ๋๋ค. UserEntity ํด๋์ค์ ์ฃผ์ ์์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค.
- id: ํ์ ์๋ณ์(์๋ ์์ฑ)
- username: ํ์ ์ด๋ฆ
- email: ํ์ ์ด๋ฉ์ผ (๊ธฐ๋ณธ ํค)
- pw: ํ์ ๋น๋ฐ๋ฒํธ
- nickname: ํ์ ๋๋ค์
- ph: ํ์ ์ ํ๋ฒํธ
- birth: ํ์ ์์ผ
- gender: ํ์ ์ฑ๋ณ
๐ ํ์ ์ ๋ณด ์ํฐํฐ ํด๋์ค ๊ตฌํ
์ฃผ์ด์ง UserEntity ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ์ ๋ณด ์ํฐํฐ๋ฅผ ๊ตฌํํ๋ค. ํด๋น ํด๋์ค๋ @Entity ์ด๋ ธํ ์ด์ ์ ํตํด JPA๊ฐ ์ํฐํฐ์์ ์ธ์ํ๋ค. ๋ํ, ๊ฐ ํ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์ปฌ๋ผ๊ณผ ๋งคํ๋๋ค.
package infinitystone.chalKag.biz.customOAuth2;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
import lombok.Getter;
import lombok.Setter;
@Entity
@Getter
@Setter
@Table(name = "MEMBER")
public class UserEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Transient
private String id;
@Transient
private String role;
@Column(name="MEMBER_name")
private String username;
@Id
@Column(name="MEMBER_id")
private String email;
@Column(name="MEMBER_pw")
private String pw;
@Column(name="MEMBER_nickname")
private String nickname;
@Column(name="MEMBER_ph")
private String ph;
@Column(name="MEMBER_birth")
private String birth;
@Column(name="MEMBER_gender")
private String gender;
}
๐ ํ์ ์ ๋ณด ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ตฌํ
ํ์ ์ ๋ณด๋ฅผ ์์ฑ, ์กฐํ, ์์ , ์ญ์ ํ๋ ๊ธฐ๋ฅ์ JPA๋ฅผ ํตํด ๊ตฌํํ๋ค. ์ด๋ฅผ ์ํด UserRepository ์ธํฐํ์ด์ค์ UserService ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ์์ ์๋ ํ์ ์ ๋ณด๋ฅผ ํ์ฉํด์ ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์์ฑํ๋๋ฐ UserRepository์ UserService ํด๋์ค๋ ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ํด ํฌ์คํ ํ ๋ ๋ด์ ์์ ์ด๋ค.
'JAVA > Practice' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Spring] Command ๊ฐ์ฒด๋ฅผ ์ด์ฉํ Controller (0) | 2024.03.14 |
|---|---|
| [MAVEN] SpringMVC2 ๋ฒ์ 2 ์ฐ์ต (Controller) (0) | 2024.03.07 |
| [MAVEN] SpringMVC2 ๋ฒ์ 1 ์ฐ์ต (Controller) (0) | 2024.03.06 |
| [Spring] .xml (์ค์ ํ์ผ)์ ๊ตฌ์กฐ (0) | 2024.02.29 |
| ์๋ฐ(Java)์์ ResultSet ํด๋์ค (0) | 2023.12.20 |
๋๊ธ