在Android Kotlin Room中,实体类应该使用val
关键字来声明属性,因为Room库要求实体类的属性是只读的。
下面是一个示例的实体类定义:
@Entity(tableName = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
在上面的代码中,id
属性被标记为主键,并且使用val
关键字来声明。name
和age
属性也使用val
关键字来声明。
在这个示例中,Room库将会使用val
关键字来生成只读的getter方法,不会生成setter方法。这样可以确保实体类的属性不会被修改,从而保证了数据的完整性。
需要注意的是,Room库会使用反射来访问实体类的属性,所以实体类的属性不能是私有的。