μν°ν°λ₯Ό μ‘°νν λ μ°κ΄λ μν°ν°λ€μ΄ νμ μ¬μ©λλ κ²μ μλλ€.
μ) νμ μν°ν°λ₯Ό μ‘°νν λ μ°κ΄λ ν μν°ν°λ λΉμ¦λμ€ λ‘μ§μ λ°λΌ μ¬μ©λ λλ μκ³ μλ λλ μλ€.
//νμ μν°ν°@Entity@Getterpublic class Member{ private String username; @ManyToOne private Team team;}// ν μν°ν°@Entity@Getterpublic class Team{ private String name;}
//νμκ³Ό ν μ 보λ₯Ό μΆλ ₯public void printUserAndTeam(String memberId){ Member member = em.find(Member.class, memberId); Team team = member.getTeam(); member.getUsername(); team.getName();}//νμ μ λ³΄λ§ μΆλ ₯public String printUser(String memberId){ Member member = em.find(Member.class, memberId); member.getUsername();}
printUserAndTeam() λ©μλλ memberIdλ‘ νμ μν°ν°λ₯Ό μ°Ύμμ νμκ³Ό μ°κ΄λ νμ μ΄λ¦λ μΆλ ₯νλ€.
λ°λ©΄ printUser() λ©μλλ νμ μν°ν°λ§ μΆλ ₯νλ λ° μ¬μ©νκ³ μ°κ΄λ ν μν°ν°λ μ ν μ¬μ©νμ§ μλλ€.
printUser() λ©μλλ νμ μν°ν°λ§ μ¬μ©νλ―λ‘ em.find()λ‘ νμ μν°ν°λ₯Ό μ‘°νν λ νμκ³Ό μ°κ΄λ ν μν°ν°(Member.team)κΉμ§ ν¨κ» μ‘°ννλ κ²μ ν¨μ¨μ μ΄μ§ μλ€.
μ΄λ° λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ JPAλ μν°ν°κ° μ€μ μ¬μ©λ λκΉμ§ DB μ‘°νλ₯Ό μ§μ°νλ λ°©λ²μ μ 곡νλ€.(μ§μ° λ‘λ©)
μ½κ² λ§ν΄ team.getName()μ²λΌ ν μν°ν°μ κ°μ μ€μ μ¬μ©νλ μμ μ DBμμ ν μν°ν°μ νμν λ°μ΄ν°λ₯Ό μ‘°ννλ κ²μ΄λ€.
μ΄ λ°©λ²μ μ¬μ©νλ©΄ printUser() λ©μλλ νμ λ°μ΄ν°λ§ μ‘°νν΄λ λλ€.
μ§μ° λ‘λ© κΈ°λ₯μ μ¬μ©νλ €λ©΄ μ€μ μν°ν° κ°μ²΄ λμ DB μ‘°νλ₯Ό μ§μ°ν μ μλ κ°μ§ κ°μ²΄κ° νμνλ€.(νλ‘μ κ°μ²΄)
JPAμμ μλ³μλ₯Ό μν°ν° νλλ‘ μ‘°νν λλ EntityManager.find()λ₯Ό μ¬μ©νλ€.
μ΄ λ©μλλ μμμ± μ»¨ν μ€νΈμ μν°ν°κ° μμΌλ©΄ DBμμ μ‘°ννλ€.
Member member = em.find(Member.class, "member1")