728x90
๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
@SequenceGenerator(
name = "BOARD_SEQ_GENERATOR",
allocationSize = 50
)
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "BOARD_SEQ_GENERATOR")
@Column(name = "MEMBER_ID")
private Long id;
}
์ดํ ๋ค์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
Member member = new Member();
em.persist(member);
Member member2 = new Member();
em.persist(member2);
๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ์ค ํธ์ถ์ด 2๋ฒ ์ด๋ฃจ์ด์ง๋ค.
2๋ฒ ํธ์ถ๋๋ ์ด์ ๊ฐ ๋ญ๊ฐ์?
์ฒ์ ํธ์ถํ๋ฉด DB SEQUENCE ๊ฐ์ด 1์ด ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํ๊ธฐ ์ํด allocateSize๋ฅผ 50์ผ๋ก ์ค์ ํ์์ต๋๋ค.
๋ฐ๋ผ์ 50๊ฐ์ฉ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ์ 50๊ฐ๋ฅผ ์ค์ ํด์ผ ํ๋๋ฐ, DB์ ์ํ์ค ๊ฐ์ด 1์ด๋ผ, ํ๋ฒ ๋ ํธ์ถํด์ 51๋ก ๋ง๋ค์ด์ค ํ, ๋ฉ๋ชจ๋ฆฌ์์ 50๊ฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
DB SEQ = 1 | 1 //๋ฉ๋ชจ๋ฆฌ์ 50์ ์ฌ์ฉํ๊ธฐ ์ํด ํ๋ฒ ๋ ํธ์ถ (1, 51)
DB SEQ = 51 | 2
DB SEQ = 51 | 3
...
๐ Reference
728x90
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JPA] ์ฐ๊ด๊ด๊ณ ํธ์ ๋ฉ์๋ ์์ฑํ๊ธฐ (0) | 2021.12.14 |
---|---|
[JPA] - @JoinColumn๊ณผ ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ (mappedBy) (2) | 2021.12.14 |
[JPA] ์๋ณ์(๊ธฐ๋ณธ ํค) ์ ํ ์ ๋ต (0) | 2021.12.14 |
[JPA] ๊ธฐ๋ณธ ํค(Primary Key)๋งคํ - @Id, @GeneratedValue (0) | 2021.12.14 |
[JPA] ๊ธฐ๋ณธ ํค ๋งคํ - SEQUENCE, TABLE ์ ๋ต์ ์ต์ ํ (0) | 2021.12.14 |