Search
🧡

주의점

벌크 μ—°μ‚°

update.set.execute() 같은 연산은 μ˜μ†μ„± μ»¨ν…μŠ€νŠΈλ₯Ό μƒκ°ν•˜μ§€ μ•Šκ³  λ°”λ‘œ DB 에 쿼리λ₯Ό λ‚ λ¦°λ‹€. 이에따라 μ˜μ†ν™”λœ 객체와 DB 의 객체 사이 정보가 λ‹€λ₯΄λ‹€. μ΄λŠ” λ™μΌμ„±μ˜ 문제λ₯Ό μ•ΌκΈ°ν•˜κ³ , μ—…λ°μ΄νŠΈκ°€ 된 이후에 쑰회λ₯Ό ν•œλ‹€ ν•˜λ”λΌλ„ μ—…λ°μ΄νŠΈκ°€ λ˜μ§€ μ•Šμ€ 객체가 μ‘°νšŒλœλ‹€. μ•±κ³Ό DB μ‚¬μ΄μ˜ repeatable read 문제
β†’ em.clear() 둜 μ˜μ†μ„±μ„ 없애버린닀. 그런데 이러면 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ—μ„œ DB 둜직이 μΆ”κ°€λœλ‹€.

빈 등둝

빈 λ“±λ‘ν•˜λ©΄ μ‹±κΈ€ν†€μ΄λΌμ„œ μ—¬λŸ¬ μ“°λ ˆλ“œμ—μ„œ μ‚¬μš©ν•˜κ²Œ 될 λ•Œ λ¬Έμ œκ°€ λ˜μ§€ μ•Šλ‚˜?
β†’ JPAQueryFactory λŠ” entity manager λ₯Ό μ£Όμž…λ°›λŠ”λ‹€. entity manager λŠ” νŠΈλžœμž­μ…˜ λ‹¨μœ„λ‘œ 컀λ„₯μ…˜κ³Ό 데이터λ₯Ό κ΄€λ¦¬ν•œλ‹€. spring μ—μ„œ entity manager λŠ” ν”„λ‘μ‹œ 객체λ₯Ό μ£Όμž…ν•˜κ³  νŠΈλžœμž­μ…˜ λ‹¨μœ„λ‘œ λ‹€ λ‹€λ₯Έ ν”„λ‘μ‹œ 객체λ₯Ό λ°”μΈλ”©ν•œλ‹€. κ·Έλž˜μ„œ λ¬Έμ œκ°€ μ—†λ‹€.

cross join

jpaQueryFactory.select(roleHistory) .from(roleHistory,role) .where(role.id.eq(roleId)) .fetch();
Plain Text
볡사
from μ—μ„œ cross join λ°œμƒ