@OneToMany

์ผ๋Œ€๋‹ค ๋งคํ•‘์€ ๋งคํ•‘ํ•œ ๊ฐ์ฒด๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์™ธ๋ž˜ ํ‚ค๊ฐ€ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์— ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์„ฑ๋Šฅ ๋ฌธ์ œ๋„ ์žˆ์ง€๋งŒ ๊ด€๋ฆฌ๊ฐ€ ๋ถ€๋‹ด์Šค๋Ÿฝ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋Œ€์ผ ์–‘๋ฐฉํ–ฅ ๋งคํ•‘์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์ผ๋Œ€๋‹ค ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„

onetomany

์ผ๋Œ€๋‹ค ๋‹จ๋ฐฉํ–ฅ ๋งคํ•‘

@Entity
public class Team{
    @Id@GeneratedValue
    @Column(name="TEAM_ID")
    private Long id;

    private String name;

    @OneToMany
    @JoinColumn(name="TEAM_ID")
    private List<Member> members = new ArrayList<Member>();

    ...
}

@Entity
public class Member{
    @Id@GeneratedValue
    @Column(name = "MEMBER_ID")
    private Long id;

    private String username;

    ...
}

๋‹ค๋Œ€์ผ ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„

20210824relation1

๋‹ค๋Œ€์ผ ๋‹จ๋ฐฉํ–ฅ ๋งคํ•‘

@Entity
public class Member {
    @Id
    @Column(name="MEMBER_ID")
    private String id;
    private String username;

    // ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘
    @ManyToOne
    @JoinColumn(name="TEAM_ID")
    private Team team;

    ...
}

@Entity
public class Team {
    @Id
    @Column(name="TEAM_ID")
    private String id;

    private String name;

    ...
}

๋น„๊ต๋ฅผ ์œ„ํ•ด ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๊ฐ€์ ธ์™€๋ดค๋‹ค. ์ฐจ์ด์ ์ด ๋ณด์ด๋Š”๊ฐ€?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์™ธ๋ž˜ํ‚ค๋Š” ๋ฌด์กฐ๊ฑด '๋‹ค'์ชฝ์ธ ํ…Œ์ด๋ธ”์ด ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๋‹ค๋Œ€์ผ ๊ด€๊ณ„, ์ผ๋Œ€๋‹ค ๊ด€๊ณ„ ๋ชจ๋‘ '๋‹ค'์ชฝ์— ์™ธ๋ž˜ํ‚ค๊ฐ€ ์žˆ์„ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋Œ€๋‹ค ๊ด€๊ณ„์—์„œ์˜ @JoinColumn์€ ๋ฐ˜๋Œ€ํŽธ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ํ‚ค๋ฅผ ๋งํ•˜๊ณ , ๋‹ค๋Œ€์ผ ๊ด€๊ณ„์—์„œ์˜ @JoinColumn์€, @JoinColumn์„ ์‚ฌ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ๋งคํ•‘๋œ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ํ‚ค๋ฅผ ๋งํ•œ๋‹ค.

์ผ๋Œ€๋‹ค ์–‘๋ฐฉํ–ฅ์€ ์–ด์ฐŒ์ €์ฐŒ ๊ทธ๋ ‡๊ฒŒ ๋ณด์ด๊ฒŒ ๊ตฌํ˜„์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ผ๋Œ€๋‹ค ๋‹จ๋ฐฉํ–ฅ์˜ ๋‹จ์ ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ฑ…์œผ๋กœ๋งŒ ํ›‘๊ณ  ๋„˜์–ด๊ฐ€๊ฒ ๋‹ค. (๊ฐœ์ธ์ ์œผ๋กœ ์„ฑ๋Šฅ๋„ ์„ฑ๋Šฅ์ด์ง€๋งŒ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค.) ์ผ๋Œ€๋‹ค ์–‘๋ฐฉํ–ฅ ๋งคํ•‘์ด ๊ผญ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋  ๋•Œ ์ด ๊ธ€์„ ๋‹ค์‹œ ์ด์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

Last updated