Я использую Room и вот мой класс данных
@Entity(tableName = "buy_lead")
class BuyLead(
@PrimaryKey
@SerializedName("id")
val id: String,
@SerializedName("name")
val name: String,
@SerializedName("location")
val location: String,
@SerializedName("state")
val state: String?,
@SerializedName("message")
val message: String,
@SerializedName("product_service")
val serviceType: String?,
@SerializedName("posted_on")
val postedOn: String,
@SerializedName("formatted_date")
val formattedDate: String,
@SerializedName("seconds")
val seconds: Int,
@SerializedName("minutes")
val minutes: Int,
@SerializedName("hours")
val hours: Int,
@SerializedName("days")
val days: Int,
var bought: Boolean = false,
@Ignore var error: String? = null
) {
val postTime: String
get() {
if (seconds < 60) {
if (seconds == 1)
return "$seconds second ago"
return "$seconds seconds ago"
}
if (minutes < 60) {
if (minutes == 1)
return "$minutes minute ago"
return "$minutes minutes ago"
}
if (hours < 24) {
if (hours == 1)
return "$hours hour ago"
return "$hours hours ago"
}
if (days < 5) {
if (days == 1)
return "$days day ago"
return "$days days ago"
}
return formattedDate
}
val address: String
get() =
if (state != null) "${location}, ${state}"
else location
}
и генерирует ошибку времени компиляции
ошибка: сущности и Pojos должны иметь открытый конструктор. Вы можете иметь пустой конструктор или конструктор, параметры которого соответствуют полям (по имени и типу).
открытый финальный класс BuyLead {
^
Я пытался переместить поля внутри класса, но ничего не работает. Если я удаляю аннотацию @Ignore
из ошибки, она компилируется. Я не хочу хранить поле ошибки в базе данных.
Котлин версия 1.2.71