实体和pojo必须在Kotlin中有一个可用的公共构造函数



我试图通过使用@Ignore来创建一个房间实体列表,但当我尝试构建应用程序时,我得到以下错误:

Entities and POJOs must have a usable public constructor
下面是我的代码:
@Entity(tableName = "prodotti_table")
data class Prodotto(
@PrimaryKey(autoGenerate = false)
var codart: String,
var desc: String,
var prezzo_acq: Float,
var prezzo_vend: Float,
@Ignore var barcode: List<Barcode>,
var qta: Float
)
@Entity(tableName = "barcode_prodotti_table")
data class Barcode(
@PrimaryKey
var id: Int,
var codart: String,
var barcode: String,
var qta: Float
)

我怎么能解决它仍然使用@忽略在该数据类?

你不能在构造函数中放置一个被忽略的属性,所以这样做:

@Entity(tableName = "prodotti_table")
data class Prodotto(
@PrimaryKey(autoGenerate = false)
var codart: String,
var desc: String,
var prezzo_acq: Float,
var prezzo_vend: Float,
var qta: Float
) {
@Ignore var barcode: List<Barcode> = emptyList()
}

但是请记住,不在数据类的构造函数中的属性将不参与equals,hashcode,copytoString

相关内容

最新更新