๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐฑ์—”๋“œ/ORM

(3)
[TypeORM] bigint๊ฐ€ string์œผ๋กœ ๋ณ€ํ™˜๋  ๋•Œ ๋ฌธ์ œ ์ƒํ™ฉ  TypeORM ๊ณต์‹ ๋ฌธ์„œ์—์„œ๋„ ๋‚˜์™€์žˆ๋“ฏ์ด, ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค ๋•Œ bigint๋กœ ์ปฌ๋Ÿผ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋ฉด ์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ๋Š” string์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. (PostgreSQL ๊ธฐ์ค€)ํ•˜์ง€๋งŒ ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋ณ€ํ™˜ํ•˜๋Š” ๋กœ์ง์„ ๋„ฃ๊ธฐ๋Š” ๊ท€์ฐฎ์œผ๋‹ˆ, ์—”ํ‹ฐํ‹ฐ๋กœ ๋ณ€ํ™˜ํ•œ ์‹œ์ ์— ์ด๋ฏธ number ๋ผ๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.Javascript์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” "์•ˆ์ „ํ•œ" ์ •์ˆ˜์˜ ๋ฒ”์œ„๋Š” -9,007,199,254,740,991 ~ 9,007,199,254,740,991 ์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ PostgreSQL bigint์˜ ๋ฒ”์œ„๋Š” -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807๋กœ ๋” ํฌ๊ธฐ ๋•Œ๋ฌธ์— string์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.totalAmount ๊ฐ’..
[TypeORM] ์™œ ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค ํ”„๋กœํผํ‹ฐ๋ฅผ private์œผ๋กœ ํ•  ์ˆ˜ ์—†์„๊นŒ? ๋ฌธ์ œ ์ƒํ™ฉ TypeORM ์‚ฌ์šฉ ์ค‘ Entity ํด๋ž˜์Šค์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ private์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋”๋‹ˆ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. "Property "id" was not found in "Expense". Make sure your query is correct."์ฒ˜์Œ์—๋Š” ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„ ์•ž์— ์–ธ๋”์Šค์ฝ”์–ด๋ฅผ ๋ถ™์—ฌ์„œ ๋งคํ•‘์ด ์•ˆ ๋˜๋Š” ๊ฑด๊ฐ€ ํ–ˆ๋Š”๋ฐ, ํ”„๋กœํผํ‹ฐ๋ฅผ public์œผ๋กœ ํ•ด์•ผ๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ์ฒด๊ฐ€ ์ž๋™์œผ๋กœ ๋งคํ•‘๋˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.JPA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ๋ชจ๋“  ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ private์œผ๋กœ ์„ ์–ธํ•˜๊ณ  getter & setter๋ฅผ ๋‘์–ด ์บก์Šํ™”๋ฅผ ํ•˜์—ฌ, ์—”ํ‹ฐํ‹ฐ์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด์€ public ๋ฉ”์„œ๋“œ๋ฅผ ๋‘์–ด ์„œ๋น„์Šค์—์„œ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ด ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„์˜ ์ •์„(?)์ด๋ผ๊ณ  ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค... TypeORM์—์„œ๋„ ์ด์™€ ..
[TypeORM] TypeORM์—์„œ ํŠธ๋žœ์žญ์…˜ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• TypeORM 0.3 ์ด์ƒ ๋ฒ„์ „์„ ๊ธฐ์ค€์œผ๋กœ ํŠธ๋žœ์žญ์…˜์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. TransactionํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•œ๊บผ๋ฒˆ์— ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ž‘์—… ๋‹จ์œ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.ํŠธ๋žœ์žญ์…˜์˜ ์ค‘์š”ํ•œ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๋“ ์ง€, ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ ์ž‘์—…์ด ๋ถ€๋ถ„์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. (ACID ์ค‘ Atomicity, ์›์ž์„ฑ) DataSource & EntityManager / QueryRunnerTypeORM์—์„œ๋Š” DataSource & EntityManager ๋˜๋Š” QueryRunner๋ฅผ ํ†ตํ•ด ํŠธ๋žœ์žญ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ, TypeORM์—์„œ์˜ DataSource, EntityManager, ..