Spring/Spring JPA ํ™œ์šฉ

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

hello_u 2023. 2. 21. 17:20

 

 

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

 

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