πŸ‘¨β€πŸ‘¦ μΌλŒ€μΌ [1:1]

μΌλŒ€μΌ κ΄€κ³„λŠ” μ–‘μͺ½μ΄ μ„œλ‘œ ν•˜λ‚˜μ˜ κ΄€κ³„λ§Œ κ°€μ§„λ‹€.

예) νšŒμ›μ€ ν•˜λ‚˜μ˜ μ‚¬λ¬Όν•œλ§Œ μ‚¬μš©ν•˜κ³ , 사물함도 ν•˜λ‚˜μ˜ νšŒμ›μ— μ˜ν•΄μ„œλ§Œ μ‚¬μš©λœλ‹€.

μΌλŒ€μΌ κ΄€κ³„μ˜ νŠΉμ§•

반면 μΌλŒ€μΌ κ΄€κ³„λŠ” μ£Ό ν…Œμ΄λΈ”μ΄λ‚˜ λŒ€μƒ ν…Œμ΄λΈ” λ‘˜ 쀑 μ–΄λŠ κ³³μ΄λ‚˜ μ™Έλž˜ν‚€λ₯Ό κ°€μ§ˆ 수 μžˆλ‹€.

ν…Œμ΄λΈ”μ€ μ£Ό ν…Œμ΄λΈ”μ΄λ“  λŒ€μƒ ν…Œμ΄λΈ”μ΄λ“  μ™Έλž˜ν‚€ ν•˜λ‚˜λ§Œ 있으면 μ–‘μͺ½μœΌλ‘œ μ‘°νšŒν•  수 μžˆλ‹€.

μΌλŒ€μΌ κ΄€κ³„λŠ” μ£Ό ν…Œμ΄λΈ”μ΄λ‚˜ λŒ€μƒ ν…Œμ΄λΈ” 쀑 λˆ„κ°€ μ™Έλž˜ν‚€λ₯Ό κ°€μ§ˆμ§€ 선택해야 ν•œλ‹€.

1. μ£Ό ν…Œμ΄λΈ”μ— μ™Έλž˜ν‚€

μΌλŒ€μΌ 관계λ₯Ό ꡬ성할 λ•Œ μ£Ό ν…Œμ΄λΈ”μ— μ™Έλž˜ν‚€κ°€ μžˆλŠ” 것을 μ„ ν˜Έν•œλ‹€.

JPA도 μ£Ό ν…Œμ΄λΈ”μ— μ™Έλž˜ν‚€κ°€ 있으면 μ’€ 더 νŽΈλ¦¬ν•˜κ²Œ λ§€ν•‘ν•  수 μžˆλ‹€.

단방ν–₯

νšŒμ›κ³Ό μ‚¬λ¬Όν•¨μ˜ μΌλŒ€μΌ 단방ν–₯ 관계

μΌλŒ€μΌ μ£Ό ν…Œμ΄λΈ”μ— μ™Έλž˜ν‚€, 단방ν–₯

//νšŒμ› μ—”ν‹°ν‹°@Entitypublic class Member{    @Id    @GeneratedValue    @Column(name = "MEMBER_ID")    private String id;    private String username;    @OneToOne    @JoinColumn(name = "LOCKER_ID")    private Locker locker;}//사물함 μ—”ν‹°ν‹°@Entitypublic class Locker{    @Id    @GeneratedValue    @Column(name = "LOCKER_ID")    private String id;    private String name;}