SERIES

Querydsl

7 PostsยทLast updated on August 11, 2025

๐Ÿš€
์˜ˆ์ œ ๋„๋ฉ”์ธ ๋ชจ๋ธ

May 15, 2025

์ด์ „ JPA ๊ธฐ๋ณธ ๊ฐ•์˜ ๋‚ด์šฉ์—์„œ ๋‹ค๋ค˜๋˜ ๋‚ด์šฉ์œผ๋กœ ๋”ฐ๋กœ ์„ค๋ช…์€ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์—”ํ‹ฐํ‹ฐ ์ •์˜ ๋ฐ ๋™์ž‘๋งŒ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Member ์—”ํ‹ฐํ‹ฐ Team ์—”ํ‹ฐํ‹ฐ ์—”ํ‹ฐํ‹ฐ ๋™์ž‘ ํ™•์ธ ์ด ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ตฌ๋งคํ•˜์‹œ๋ฉด ์ œ๊ฐ€ ์ˆ˜์ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”. ๐Ÿค— https://inf.run/Ybt69


๐Ÿš€
ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ •

May 15, 2025

Project: Gradle - Groovy Spring Web, JPA, H2, Lombok Querydsl ์„ค์ • ๋ฐ ๊ฒ€์ฆ ์— ์ฃผ์„์„ ์ฐธ๊ณ ํ•˜์—ฌ querydsl ์„ค์ • ์ถ”๊ฐ€ โ€ป SQL Injection ๊ด€๋ จ CVE-2024-49203 ๋ณด์•ˆ ๊ฒฝ๊ณ ๋Š” ์•„๋ž˜ github ์ฐธ๊ณ ํ•˜์—ฌ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•จ https://github.com/querydsl/querydsl/issโ€ฆ


๐Ÿš€
๊ธฐ๋ณธ ๋ฌธ๋ฒ•

May 19, 2025

JPQL VS Querydsl ํ…Œ์ŠคํŠธ ๊ธฐ๋ณธ ์ฝ”๋“œ JPQL VS Querydsl ๋กœ ์ƒ์„ฑ querydsl์€ JPQL ๋นŒ๋” JPQL: ๋ฌธ์ž(์‹คํ–‰ ์‹œ์  ์˜ค๋ฅ˜), Querydsl: ์ฝ”๋“œ(์ปดํŒŒ์ผ ์‹œ์  ์˜ค๋ฅ˜) JPQL: ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ”์ธ๋”ฉ ์ง์ ‘, Querydsl: ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ”์ธ๋”ฉ ์ž๋™ ์ฒ˜๋ฆฌ JPAQueryFactory๋ฅผ ํ•„๋“œ๋กœ ์‚ฌ์šฉ JPQQueryFactory๋Š” ํ•„๋“œโ€ฆ


๐Ÿš€
์ˆœ์ˆ˜ JPA์™€ Querydsl ๋น„๊ต

May 19, 2025

์ˆœ์ˆ˜ JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ Querydsl ์ˆœ์ˆ˜ JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ˆœ์ˆ˜ JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ Querydsl ์‚ฌ์šฉ Querydsl ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ โ€ป ์Šคํ”„๋ง์ด ์ฃผ์ž…ํ•ด์ฃผ๋Š” ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €๋Š” ์‹ค์ œ ๋™์ž‘ ์‹œ์ ์— ์ง„์งœ ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €๋ฅผ ์ฐพ์•„์ฃผ๋Š” ํ”„๋ก์‹œ์šฉ ๊ฐ€์งœ ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋ก์‹œ๋Š” ์‹ค์ œ ์‚ฌ์šฉ ์‹œ์ ์— ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„๋กœ ์‹ค์ œ ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €(์˜์†์„ฑ ์ปจํ…์ŠคํŠธ)๋ฅผ ํ• โ€ฆ


๐Ÿš€
์ค‘๊ธ‰ ๋ฌธ๋ฒ•

May 19, 2025

ํ”„๋กœ์ ์…˜๊ณผ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ - ๊ธฐ๋ณธ ํ”„๋กœ์ ์…˜ : select ๋Œ€์ƒ ์ง€์ • ํ”„๋กœ์ ์…˜ ๋Œ€์ƒ์ด ํ•˜๋‚˜ ํ”„๋กœ์ ์…˜ ๋Œ€์ƒ์ด ํ•˜๋‚˜๋ฉด ํƒ€์ž…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ ํ”„๋กœ์ ์…˜ ๋Œ€์ƒ์ด ๋‘˜ ์ด์ƒ์ด๋ฉด ํŠœํ”Œ์ด๋‚˜ DTO๋กœ ์กฐํšŒ ํŠœํ”Œ ์กฐํšŒ ํ”„๋กœ์ ์…˜ ๋Œ€์ƒ์ด ๋‘˜ ์ด์ƒ์ผ ๋•Œ ์‚ฌ์šฉ โ€ป Tuple ๊ฐ์ฒด๋Š” ์—„์—ฐํžˆ DataAccess ๊ฐ์ฒด๋กœ ์™ธ๋ถ€ ๊ณ„์ธต์œผ๋กœ ๋ฐ˜ํ™˜์‹œ DTO๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๊ฑธ ์ถ”์ฒœ ํ”„๋กœ์ ์…˜๊ณผ โ€ฆ


๐Ÿš€
์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA์™€ Querydsl

August 04, 2025

์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ๋ณ€๊ฒฝ ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA - MemberRepository ์ƒ์„ฑ ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA ํ…Œ์ŠคํŠธ Querydsl ์ „์šฉ ๊ธฐ๋Šฅ์ธ ํšŒ์› search๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์—†์Œ โ‡’ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ•„์š”ํ•จ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์‚ฌ์šฉ๋ฒ• ์‚ฌ์šฉ์ž ์ •์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ ์‚ฌ์šฉ์ž ์ •์˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ๋ฆฌํฌโ€ฆ


๐Ÿš€
์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA๊ฐ€ ์ œ๊ณตํ•˜๋Š” Querydsl ๊ธฐ๋Šฅ

August 11, 2025

์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ์†Œ๊ฐœํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ œ์•ฝ์ด ์ปค์„œ ๋ณต์žกํ•œ ์‹ค๋ฌด ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ๋งŽ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋ฏ€๋กœ ๊ฐ„๋‹จํžˆ ์†Œ๊ฐœํ•˜๊ณ , ์™œ ๋ถ€์กฑํ•œ์ง€์— ๋Œ€ํ•ด ์„ค๋ช…๋“œ๋ฆฌ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค ์ง€์› - QuerydslPredicateExecutor QuerydslPredicateExecutor ์ธํ„ฐํŽ˜์ด์Šค ๋Š” querydsl๊ณผ datajpa๋ฅผโ€ฆ