β’
to-many κ΄κ³
β¦
fetch join μ§μ
βͺ
쿼리μ κ°μλ₯Ό μ€μ΄κΈ° μν΄ one-to-many κ΄κ³μμ fetch join μ νμλ€.
βͺ
many μ κ°μλ§νΌ μ€λ³΅λ λ°μ΄ν°κ° λ°μνμ¬ μ€νλ € μ±λ₯μ΄ μμ’μμ‘λ€.
βͺ
μ°¨λΌλ¦¬ 쿼리 1κ°κ° λ λκ°λλΌλ join μ κ±Έμ§ μλκ² μ±λ₯μ μ’μλ€.
β¦
fetch type=EAGER
βͺ
λ¨κ±΄ μ‘°νμ left outer join
β’
μ€λ³΅ λ μ½λ μ‘°ν
βͺ
λͺ©λ‘ μ‘°νμ μ°μ find all νκ³ λ°λ‘ to many μ λ°μ΄ν° μ‘°ν
β’
N+1 λ°μ
β’
many-to-one κ΄κ³
β¦
fetch type=EAGER
βͺ
λ¨κ±΄ μ‘°νμ
β’
join column μ nullable false νλ©΄ inner, true νλ©΄ left outer join
β¦
LAZY
βͺ
λͺ©λ‘ μ‘°νμ
β’
iter λλ©΄ N+1
β’
batch size μ€μ νλ©΄ one μ ν΄λΉνλ κ°μ²΄ μ‘°νμ in μ λ°μ
β’
ENUM μ κ²½μ° ν¨ν€μ§λͺ
κΉμ§ ν¬ν¨νμ¬ λ£μ΄μΌ νλ€.