Я получаю следующую ошибку:
error: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
java.lang.String matchId);
на мой matchedBefore()
запрос:
@Dao
interface MatchedUsersDao {
// Checks to see if user has matched before (if it returns 1)
@Query("SELECT COUNT(*) FROM matched_users WHERE :matchId = match_id LIMIT 1")
fun matchedBefore(matchId: String): Int
@Insert(onConflict = OnConflictStrategy.ABORT)
fun addMatchUid(matchId: String)
}
Вот моя Сущность
@Entity(tableName = "matched_users")
data class MatchedUser(
@PrimaryKey(autoGenerate = true) val id: Int,
@ColumnInfo(name = "match_id") val matchId: String
)
DB
@Database(entities = arrayOf(MatchedUser::class), version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun matchedUsersDao(): MatchedUsersDao
}
и я создаю свою БД в своем приложении:
class CustomApplication : Application() {
companion object {
var database: AppDatabase? = null
}
override fun onCreate() {
super.onCreate()
CustomApplication.database = Room.databaseBuilder(this, AppDatabase::class.java, "AppDatabase").build()
}
Может ли кто-нибудь сказать мне, что указывает ошибка и как я могу ее решить?