jiisoo
์ง€์ˆ˜๋กœ๊ทธ
jiisoo
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • home
  • Github
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ €์žฅ์†Œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (80)
    • Java (1)
    • Spring (30)
    • JPA (15)
    • cs (8)
      • ๋””์ž์ธํŒจํ„ด (1)
      • ๋„คํŠธ์›Œํฌ (5)
      • Database (1)
      • ์šด์˜์ฒด์ œ (1)
    • algorithm (18)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ์ž๋ฃŒ๊ตฌ์กฐ ์ด๋ก  (12)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด (6)
    • ๋ฉด์ ‘ ์ค€๋น„ (0)
    • ํšŒ๊ณ  (5)
      • ATDD (4)
      • ํ•™์Šตํ…Œ์ŠคํŠธ๋กœ ๋ฐฐ์šฐ๋Š” spring 2๊ธฐ (1)
      • ํ”„๋กœ์ ํŠธ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํƒœ๊ทธ

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
jiisoo

์ง€์ˆ˜๋กœ๊ทธ

JPA

[Jpa] JPQL

2023. 7. 21. 18:41

 

๐Ÿ’ก JPQL ์ด๋ž€ 

  • JPQL ์ด๋ž€ SQL์„ ์ถ”์ƒํ™”ํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ์ฟผ๋ฆฌ ์–ธ์–ด๋ฅผ ๋งํ•œ๋‹ค.
  • ํ…Œ์ด๋ธ”์„ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌํ•œ๋‹ค.

 

 

โœ”๏ธŽ ์˜ˆ์‹œ

String jpql = "select m from Member m where m.age > 18";
List<Member> result = em.createQuery(jpql, Member.class).getResultList();

// ์‹คํ–‰๋œ SQL
select
    m.id as id,
    m.age as age,
    m.USERNAME as USERNAME,
    m.TEAM_ID as TEAM_ID
from 
	Member m
where
	m.age > 18

 

โœ”๏ธŽ ํŠน์ง• 

  • SQL ์„ ์ถ”์ƒํ™”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL ์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ๊ฒฐ๊ตญ SQL๋กœ ๋ณ€ํ™˜๋˜์–ด ์‚ฌ์šฉ๋œ๋‹ค.
  • SQL ๋ฌธ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜์—ฌ SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN ๋“ฑ์„ ์ง€์›ํ•œ๋‹ค.
  • ๋ชจ๋“  DB ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ DB์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด ๊ฒฐ๊ตญ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์ด ํฌํ•จ๋œ SQL ์ด ํ•„์š”ํ•˜๋‹ค.

 

 

โœ”๏ธŽ JPQL ๋ฌธ๋ฒ•

  • select m from Member as m where m.age > 18
  • ์—”ํ‹ฐํ‹ฐ ์†์„ฑ์€ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ O
  • JPQL ํ‚ค์›Œ๋“œ๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ X ( ex. SELECT, FROM, where)
  • ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด ์•„๋‹Œ ์—”ํ‹ฐํ‹ฐ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋˜ํ•œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ์ง‘ํ•ฉ๊ณผ ์ •๋ ฌ ๋“ฑ์˜ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
select
    COUNT(m), 
    SUM(m.age),
    AVG(m.age),
    MAX(m.age),
    MIN(m.age)
from Member m

 

 

 

<์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๊ธฐ๋ณธํŽธ ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.>

'JPA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Jpa] ๊ฐ’ ํƒ€์ž… ์ปฌ๋ ‰์…˜  (0) 2023.06.27
[Jpa] ๊ฐ’ ํƒ€์ž…๊ณผ ๋ถˆ๋ณ€ ๊ฐ์ฒด  (0) 2023.06.19
[Jpa] ๊ธฐ๋ณธ ๊ฐ’ ํƒ€์ž…  (0) 2023.06.13
[Jpa] ์˜์†์„ฑ ์ „์ด(CASCADE) ์™€ ๊ณ ์•„ ๊ฐ์ฒด  (0) 2023.06.08
[Jpa] ์ฆ‰์‹œ๋กœ๋”ฉ๊ณผ ์ง€์—ฐ๋กœ๋”ฉ  (0) 2023.06.01
    'JPA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Jpa] ๊ฐ’ ํƒ€์ž… ์ปฌ๋ ‰์…˜
    • [Jpa] ๊ฐ’ ํƒ€์ž…๊ณผ ๋ถˆ๋ณ€ ๊ฐ์ฒด
    • [Jpa] ๊ธฐ๋ณธ ๊ฐ’ ํƒ€์ž…
    • [Jpa] ์˜์†์„ฑ ์ „์ด(CASCADE) ์™€ ๊ณ ์•„ ๊ฐ์ฒด
    jiisoo
    jiisoo

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