h2 4

[H2] h2 ์„ค์น˜ ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ

h2๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๊ฒ€์ƒ‰์„ ํ•˜๊ฒŒ ๋˜์–ด ์ž‘์„ฑํ•ด ๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. H2 DB? oracle, mysql๊ณผ ๊ฐ™์€ relation DB์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ DB๋“ค๊ณผ ๋‹ฌ๋ฆฌ ๊ฐ€๋ณ๊ณ  ์„ค์น˜๊ฐ€ ์‰ฝ๊ณ , ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ฒผ์šด ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋‚˜ ํ…Œ์ŠคํŠธ ์šฉ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠน์ง• ๋น ๋ฅด๊ณ  ์˜คํ”ˆ์†Œ์Šค์ธ JDBC API In Memory DB(์ธ ๋ฉ”๋ชจ๋ฆฌ DB)* Embedded mode(๋‚ด์žฅ๋ชจ๋“œ) & Server mode(์„œ๋ฒ„๋ชจ๋“œ) ์ง€์› ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ 2MB์ •๋„์˜ ์ ์€ ์šฉ๋Ÿ‰์œผ๋กœ ์„ค์น˜ ๊ฐ€๋Šฅ ANSI ํ‘œ์ค€ SQL๋กœ ์—ฌ๋Ÿฌ ํ˜ธํ™˜์„ฑ ๋ชจ๋“œ ์ง€์› Embedded Mode vs Server Mode Embedded mode(๋‚ด์žฅ๋ชจ๋“œ) : App..

Database 2022.02.12

[JPA] ํ•„๋“œ์™€ ์ปฌ๋ฆผ๋งคํ•‘

๋งคํ•‘ ์–ด๋…ธํ…Œ์ด์…˜ @Column : ์ปฌ๋Ÿผ ๋งคํ•‘ ```@Temporal`` : ๋‚ ์งœ ํƒ€์ž… ๋งคํ•‘ @Enumerated : Enum ํƒ€์ž… ๋งคํ•‘ @Lob : BLOB, CLOB ๋งคํ•‘ @Transient : ํŠน์ • ํ•„๋“œ๋ฅผ ์ปฌ๋Ÿผ์— ๋งคํ•‘ํ•˜์ง€ ์•Š์„ ์‹œ(๋งคํ•‘ ๋ฌด์‹œ) @Enumerated ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์  EnumType.ORDINAL: enum ์ˆœ์„œ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ EnumType.STRING: enum ์ด๋ฆ„์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ Enum์˜ ๊ธฐ๋ณธ ์„ค์ •์€ EnumType.ORDINAL ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ์„ค๋ช…์ฒ˜๋Ÿผ ORDINAL์€ DB์— ์ˆœ์„œ๋งŒ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ enum์— ๋‹ค๋ฅธ ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ ORDINAL์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ enumType์„ ORDINAL์ด ์•„๋‹Œ STRING์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ..

CS 2021.12.10

[JPA] jpa ๊ธฐ๋ณธ ๋ฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

JPA ๊ธฐ์ดˆ์™€ ๋งคํ•‘ @Entity : JPA๊ฐ€ ๊ด€๋ฆฌํ•  ๊ฐ์ฒด๋ผ๋Š”๊ฒƒ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค(class ์œ„์— ์„ ์–ธ) @Id : DB PK์™€ ๋งคํ•‘ ํ•  ํ•„๋“œ๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค(field ์œ„์— ์„ ์–ธ) EntityManager EntityManagerFactory: application ๋กœ๋”ฉ ์‹œ์ ์— ๋”ฑ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. EntityManger: transaction ๋งˆ๋‹ค ์ƒ์„ฑํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. persistence.xml hibernate option ์„ค์ • ์€ ์•„๋ž˜์™€ ๊ฐ™์ด sql์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ํ•˜๋Š” ์„ค์ •์ž…๋‹ˆ๋‹ค. Hibernate: /* insert hellojpa.User */ insert into User (name, id) values (?, ?) ์€ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ๋“ค์—ฌ์“ฐ๊ธฐ ๋ฐ ์ค„๋ฐ”๊ฟˆ ๋“ฑ์„ ํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ฒŒ ํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์€ ..

CS 2021.11.26

[JPA] jpa ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ ์œ ์˜์‚ฌํ•ญ

intro ์ธํ”„๋Ÿฐ์˜ ๊น€์˜ํ•œ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋“ฃ๋Š” ์ค‘ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ฒดํฌํ•ด์•ผํ•  ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•„ ๋”ฐ๋กœ ๊ฐ•์˜ ๊ณผ์ • ์ค‘ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋“ค์„ ์ •๋ฆฌํ•ด ๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด๋‚˜ ๋ณด์ถฉํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. project ์ƒ์„ฑํ•˜๊ธฐ dependency ์„ค์ • hibernate์˜ ์–ด๋–ค ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ? h2 ๋ฒ„์ „์€? hibernate ๋ฒ„์ „ ์„ค์ • ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„ hibernate์˜ ๋ฒ„์ „์„ ์„ค์ •ํ•˜๋ ค๋ฉด ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” spirngBoot์˜ ๋ฒ„์ „์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. spring.io -> Projects -> ํ•ด๋‹นํ•˜๋Š” ๋ฒ„์ „์˜ Reference Doc. ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ•ด๋‹น ๋ฒ„์ „์˜ document๋ฅผ ํ™•์ธํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ทธ ํ›„ a single HTML page๋ฅผ ํด๋ฆญํ•ด์„œ ํ•œ..

CS 2021.11.23
728x90
๋ฐ˜์‘ํ˜•