DAO error:-Type of the parameter must be a class annotated with @Entity or a collection/array of it

DAO error:-Type of the parameter must be a class annotated with @Entity or a collection/array of it

我是 android 开发的新手,我正在尝试按照 android 架构组件制作笔记应用程序,但是在 运行 我的 DAO 中出现错误(如果有的话)如果有人能提供帮助,将不胜感激。 这是我收到的代码和错误。

DAO:-

'''

@Dao
interface NoteDao {
    @Insert(onConflict = OnConflictStrategy.IGNORE)
    suspend fun insert(note :Note)

    @Delete
    suspend fun delete(note : Note)

    @Query("SELECT * FROM Notes_table order by id")
    fun getALL(): LiveData<List<Note>>

    @Query("SELECT * From Notes_table where id= :pos")
    fun getSpecific(pos :Int):Note

}

'''

实体:-

'''

@Entity(tableName = "Notes_table")
data class Note(@ColumnInfo(name="noteText") val text:String) {
    @PrimaryKey(autoGenerate = true) var id:Int =0

}

''' 数据库:-

'''

@Database(entities = [Note::class],version = 1,exportSchema = false)
abstract class NoteDatabase : RoomDatabase() {

    abstract fun getNoteDao():NoteDao

    companion object{
        @Volatile
        private var Instance: NoteDatabase?=null

        fun getDatabase(context :Context):NoteDatabase{

            return Instance ?: synchronized(this){
                val instance=Room.databaseBuilder(context.applicationContext,
                NoteDatabase::class.java,"note_database").build()
                Instance=instance
                instance
            }
        }

    }

}

为 DAO 导入:-

import androidx.lifecycle.LiveData
import androidx.room.

实体导入:-

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey

数据库导入:-

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase

如果需要,我可以提供其余代码。

在评论部分的帮助下,通过阅读文档,我发现我的 DAO 出了点问题,最终它与我添加的 ROOM 版本有关对于我的依赖项,我刚刚更新了它们,现在它工作正常。

已通过将房间版本提高到“2.4.0-beta01”来解决

今天遇到了同样的问题,已通过将 Room 版本从 2.3.0 更新到 2.4.0-beta02 来解决。版本可以在这里找到:https://developer.android.com/jetpack/androidx/releases/room#2.3.0-alpha04

我正在更新房间版本:2.4.2

   implementation "androidx.room:room-runtime:2.4.2"
   kapt "androidx.room:room-compiler:2.4.2"
   implementation "androidx.room:room-ktx:2.4.2"
   androidTestImplementation "androidx.room:room-testing:2.4.2"