Entity ํญ ๊ตฌ์กฐ

Entity ๊ด๋ฆฌ ํ๋ฉด
- ์ผ์ชฝ Sidebar: Entity ๋ชฉ๋ก๊ณผ ์ Entity ์ถ๊ฐ ๋ฒํผ
- ์ค๋ฅธ์ชฝ Content: ์ ํํ Entity์ ์์ธ ์ ๋ณด (Properties, Indexes, Relations, Subsets, Enums)
Entity ์์ฑํ๊ธฐ
1. New Entity ๋ฒํผ ํด๋ฆญ
์ฌ์ด๋๋ฐ ํ๋จ์ [+ New Entity] ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.2. Entity ์ ๋ณด ์ ๋ ฅ
๋ชจ๋ฌ์ด ์ด๋ฆฌ๋ฉด ๋ค์ ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค:Parent Entity๋ฅผ ์ง์ ํ๋ฉด ๋ถ๋ชจ Entity์ ํ์ Entity๊ฐ ๋ฉ๋๋ค. ์:
Order โ OrderItem3. ๊ธฐ๋ณธ Properties ์ถ๊ฐ
์์ฑ๋ Entity๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ ํ๋๋ฅผ ํฌํจํฉ๋๋ค:Properties ํธ์ง
Property ์ถ๊ฐ
- [+ Add Property] ๋ฒํผ ํด๋ฆญ
- Property ์ ๋ณด ์ ๋ ฅ:
์ง์ํ๋ ๋ฐ์ดํฐ ํ์
:
- ๋ฌธ์์ด:
string(๊ธธ์ด ๋ฏธ์ง์ ์text),uuid,searchText - ์ซ์:
integer,bigInteger,number,numeric(precision/scale) - ๋ ์ง:
date - ๊ธฐํ:
boolean,enum,json,virtual,vector,tsvector,relation
๋๋ถ๋ถ์ ์ค์นผ๋ผ ํ์
์
integer[], string[]์ฒ๋ผ []๋ฅผ ๋ถ์ธ ๋ฐฐ์ด ํ์
๋ ์ง์ํฉ๋๋ค. ์ ์ฒด ๋ชฉ๋ก์
ํ๋ ํ์
๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.Property ์์
- Property ํ์ ํด๋ฆญํ์ฌ ํธ์ง ๋ชจ๋๋ก ์ ํ
- ๊ฐ์ ์์
- ๋ค๋ฅธ ๊ณณ์ ํด๋ฆญํ๊ฑฐ๋ Enter๋ฅผ ๋๋ฌ ์ ์ฅ
Property ์ญ์
Property ํ์ [ร] ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.Indexes ๊ด๋ฆฌ
Index ์ถ๊ฐ
- Indexes ์น์ ์ผ๋ก ์คํฌ๋กค
- [+ Add Index] ๋ฒํผ ํด๋ฆญ
- Index ์ ๋ณด ์ ๋ ฅ:
Index ํ์
:
- index: ์ผ๋ฐ ์ธ๋ฑ์ค (๊ฒ์ ์ฑ๋ฅ ํฅ์)
- unique: ์ ๋ํฌ ์ธ๋ฑ์ค (์ค๋ณต ๋ฐฉ์ง)
- hnsw / ivfflat: pgvector ๋ฒกํฐ ์ธ๋ฑ์ค
์ ๋ฌธ ๊ฒ์์ ๋ณ๋์ ์ธ๋ฑ์ค ํ์
์ด ์๋๋ผ
searchText/tsvector prop๊ณผ using: "gin" ์ต์
์ผ๋ก
๊ตฌ์ฑํฉ๋๋ค. ๋ฒกํฐ ๊ฒ์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.๋ณตํฉ Index
์ฌ๋ฌ ํ๋๋ฅผ ์ ํํ์ฌ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค:Relations ๊ด๋ฆฌ
belongsTo (N:1 ๊ด๊ณ)
์๋ฏธ: โ์ด Entity๋ ๋ค๋ฅธ Entity์ ์ํ๋คโ ์์:Post๋ User์ ์ํจ
- belongsTo ์น์ ์ [+ Add] ๋ฒํผ ํด๋ฆญ
- ์ ๋ณด ์ ๋ ฅ:
์์ฑ๋๋ ์ฝ๋:
hasMany (1:N ๊ด๊ณ)
์๋ฏธ: โ์ด Entity๋ ์ฌ๋ฌ ๊ฐ์ ๋ค๋ฅธ Entity๋ฅผ ๊ฐ์ง๋คโ ์์:User๋ ์ฌ๋ฌ Post๋ฅผ ๊ฐ์ง
- hasMany ์น์ ์ [+ Add] ๋ฒํผ ํด๋ฆญ
- ์ ๋ณด ์ ๋ ฅ:
์์ฑ๋๋ ์ฝ๋:
Enums ๊ด๋ฆฌ
ํน์ ํ๋๊ฐ ์ ํ๋ ๊ฐ๋ง ๊ฐ์ง ์ ์์ ๋ Enum์ ์ฌ์ฉํฉ๋๋ค.Enum ์ถ๊ฐ
- Enums ์น์ ์ [+ Add Enum] ๋ฒํผ ํด๋ฆญ
- Enum ์ ๋ณด ์ ๋ ฅ:
์์ฑ๋๋ ์ฝ๋:
AI ์ง์ Entity ์์ฑ
์ฌ์ด๋๋ฐ ํ๋จ์ [๐ฌ AI] ๋ฒํผ์ ํด๋ฆญํ๋ฉด AI ์ฑํ ์ธํฐํ์ด์ค๊ฐ ์ด๋ฆฝ๋๋ค.AI๋ก Entity ์์ฑ
์์ ํ๋กฌํํธ:AI๋ก Entity ์์
์์ ํ๋กฌํํธ:์ค์ ์์
์ ์์๊ฑฐ๋ Product Entity
src/application/product/product.entity.json
๋ณ๊ฒฝ์ฌํญ ์ ์ฉ
Entity๋ฅผ ์์ ํ ํ์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์์ฑํ๊ณ ์คํํด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋ฉ๋๋ค.์ํฌํ๋ก์ฐ
- Entity ํธ์ง: UI์์ Entity ์์
- Migration ์์ฑ: Migration ํญ์์ ๋ง์ด๊ทธ๋ ์ด์ ์์ฑ
- Migration ์คํ: ๋ง์ด๊ทธ๋ ์ด์ ์คํํ์ฌ DB ๋ฐ์
- Scaffolding: Model๊ณผ ํ ์คํธ ์ฝ๋ ์์ฑ
Entity ํ์ผ(
.entity.json)์ UI์์ ์์ ์ ์๋์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.๋ค์ ๋จ๊ณ
Migration ํญ
๋ง์ด๊ทธ๋ ์ด์
์์ฑ ๋ฐ ์คํ
Scaffolding ํญ
Model ์ฝ๋ ์๋ ์์ฑ