رسیدیم به Entity ها. همینطور که از اسمشون مشخصه، Entity ها در واقع یک سری موجودیت اطراف ما هستن. از کتاب ها، صندلی ها، میز ها گرفته تا User ها و … . به عنوان مثال همین User ها میتونن دو شناسه اصلی داشته باشن. firstName و UserName .

در زبان کاتلین برای ذخیره اطلاعات از دیتا کلاس استفاده میکنیم.

برای این که به Room بفهمونیم که این کلاسمون میخوایم Entity باشه، از Entity@ استفاده میکنیم.

برای این که به Room بگیم، شناسه id ما باید PrimaryKey باشه و از این به بعد یونیک در نظرش بگیر باید از PrimaryKey@ استفاده کنیم.

ساخت ProductEntity

بعد از این که نگاهی به مدل Productامون داشتیم، میتونیم برای ساخت ProductEntity از کد زیر استفاده کنیم

@Entity(tableName = "products")
data class ProductEntity @JvmOverloads constructor(
    @PrimaryKey
    override var id: Int? = null,
    override var name: String? = null,
    override var description: String? = null,
    override var price: Int? = null
) : Product