[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 2. ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐœ๋ฐœ

2023. 2. 21. 17:20ยทSpring/Spring JPA ํ™œ์šฉ

 

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜

 

Repository

 

repository: JPA๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ธต, ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ € ์‚ฌ์šฉ

 

Entity์— ์˜ํ•ด ์ƒ์„ฑ๋œ DB์— ์ ‘๊ทผํ•˜๋Š” ๋ฉ”์„œ๋“œ(ex) findAll()) ๋“ค์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ

 

์—”ํ‹ฐํ‹ฐ๋ฅผ ์„ ์–ธํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด,

 

์—ฌ๊ธฐ์— ์–ด๋–ค ๊ฐ’์„ ๋„ฃ๊ฑฐ๋‚˜, ๋„ฃ์–ด์ง„ ๊ฐ’์„ ์กฐํšŒํ•˜๋Š” ๋“ฑ์˜ CRUD(Create, Read, Update, Delete)๋ฅผ ํ•ด์•ผ ์“ธ๋ชจ๊ฐ€ ์žˆ๋Š”๋ฐ,

 

์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€ ์ •์˜ํ•ด์ฃผ๋Š” ๊ณ„์ธต์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

@Repository
public class MemberRepository {

    @PersistenceContext
    private EntityManager em;

 

@Repository : ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋ก, JPA ์˜ˆ์™ธ๋ฅผ ์Šคํ”„๋ง ๊ธฐ๋ฐ˜ ์˜ˆ์™ธ๋กœ ์˜ˆ์™ธ ๋ณ€ํ™˜

 

@PersistenceContext : ์—”ํ‹ฐํ‹ฐ ๋ฉ”๋‹ˆ์ €( EntityManager ) ์ฃผ์ž…

 

EntityManager ๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

 

JPA๋Š” EntityManager๋กœ ๋ชจ๋“ ๊ฒƒ์„ ๋™์ž‘

 

 

 

 

 

persist

public void save(Member member) {
    em.persist(member);
}

 

member ๊ฐ์ฒด๋ฅผ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค .

 

๋‚˜์ค‘์— ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๋Š” ์‹œ์ ์— DB์— ๋ฐ˜์˜

 

 

find

public Member findOne(Long id) {
    return em.find(Member.class, id);
}

 

๋‹จ๊ฑด ์กฐํšŒ 

 

find( class ํƒ€์ž… , PK ) 

 

id ๋กœ Member ์กฐํšŒํ•˜๊ธฐ 

 

 

 createQuery(JPQL)

public List<Member> findAll() {
    return em.createQuery("select m from Member m", Member.class)
            .getResultList();
}

 

JPQL ์„ SQL ์ฟผ๋ฆฌ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ „์†ก

 

JPQL - from ์˜ ๋Œ€์ƒ์ด ํ…Œ์ด๋ธ”์ด ์•„๋‹Œ ์—”ํ‹ฐํ‹ฐ 

 

 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1/dashboard

 

์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1 - ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

์‹ค๋ฌด์— ๊ฐ€๊นŒ์šด ์˜ˆ์ œ๋กœ, ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA๋ฅผ ํ™œ์šฉํ•ด์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA๋ฅผ ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., - ๊ฐ•

www.inflearn.com

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Spring > Spring JPA ํ™œ์šฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 5. ์›น ๊ณ„์ธต ๊ฐœ๋ฐœ  (0) 2023.02.23
[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 4. ์ฃผ๋ฌธ ๋„๋ฉ”์ธ ๊ฐœ๋ฐœ  (0) 2023.02.22
[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 3. ํšŒ์› ์„œ๋น„์Šค ๊ฐœ๋ฐœ  (0) 2023.02.21
[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 1. ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค ๊ฐœ๋ฐœ  (0) 2023.02.21
[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 0. Entity / EntityManager  (0) 2023.02.20
'Spring/Spring JPA ํ™œ์šฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 4. ์ฃผ๋ฌธ ๋„๋ฉ”์ธ ๊ฐœ๋ฐœ
  • [์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 3. ํšŒ์› ์„œ๋น„์Šค ๊ฐœ๋ฐœ
  • [์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 1. ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค ๊ฐœ๋ฐœ
  • [์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 0. Entity / EntityManager
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
[์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1] - 2. ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐœ๋ฐœ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”