๐ก 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 |