λ²ν¬ μ°μ°
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 λ°μ