Android 会议室:相互冲突的声明

Android 会议室:相互冲突的声明,android,kotlin,android-room,Android,Kotlin,Android Room,我想为当前pb添加值、日期和细节。我在pbInfo数据库中收到错误“冲突声明”。我应该如何修复此错误 @Entity(tableName = "pb_table") data class Pb(@PrimaryKey val pb: String) @Entity data class PbInfo(@PrimaryKey var value: Double, var date: Int,

我想为当前pb添加值、日期和细节。我在pbInfo数据库中收到错误“冲突声明”。我应该如何修复此错误

@Entity(tableName = "pb_table")
data class Pb(@PrimaryKey
              val pb: String)

@Entity
data class PbInfo(@PrimaryKey
                  var value: Double,
                  var date: Int,
                  var details: String)

用这个

@Insert(onConflict = OnConflictStrategy.REPLACE)
而不是

@Insert

首先,在一个类中有两个实体(可能是冲突)

因此,为单独的
实体添加单独的类

然后,在RoomDatabase抽象类中,添加如下两个实体类(并创建单独的
Dao
接口类):


这将解决实体类之间的冲突。我有一个包含两个实体的数据库,就像这样,运行起来没有任何问题。(请注意,因为我不知道Kotlin语法)

他得到的是数据库实体的冲突声明,而不是数据库实体的冲突声明insertion@Rajnishsuryavanshi谢谢,我已经试过了,但错误仍然存在。为什么不为Pbinfo设置一个表名?我想我知道如何解决这个问题,但我不知道Kotlin语法,因为你知道我已经在一个房间里用多张桌子了-database@Psycho我现在要补充一点。如果您了解java,那么我可以尝试将其转换为一个类中的多实体声明。。。。添加可能的解决方案作为答案,请稍等。谢谢,我已经尝试了所有方法,但不幸的是,我仍然收到相同的错误。您可以添加您的日志吗@SKdevI去添加logcat,但当我重建项目时,它居然能在模拟器上工作,这是我之前所做的,我仍然有以下错误:冲突声明:var-pbInfo:pbInfo,var-pbInfo:pbInfo冲突声明:var-pbInfo:pbInfo,var-pbInfo:pbInfo冲突声明:var-pbInfo:pbInfo,var-pbInfo:pbInfo>Task:app:buildinfogeneratordebug您确定在不同的文件中为Pb和pbInfo创建了不同的类吗?让我们来看看。
@Insert(onConflict = OnConflictStrategy.REPLACE)
@Insert
@Database(entities = [(Pb::class), (Pbinfo::class)] ,version = 2)
abstract class YourRoomDatabaseClass: RoomDatabase(){
    ...
     abstract fun pbDao() : PbDao
     abstract fun pbinfoDao(): PbinfoDao
    ...
}