[BUG] 记一次Room+Kotlin协程编译出错的问题

50 阅读1分钟

错误的异常是:

Query method parameters should either be a type that can be converted into a database column or a List / Array that contains such type. You can consider adding a Type Adapter for this.

使用场景

Room+Kotlin协程开发

问题原因

首先说一下问题导致原因是Kotlin和Room版本差异导致的问题,至于原因可以看下低版本的实现原理。

【 X 】使用异常的版本:Room2.2.5 + Kotlin 1.4.20

【 √ 】可以正常使用的版本:Room 2.3.0 + Kotlin 1.5.10

implemention  'androidx.room:room-runtime:2.3.0',
implemention 'androidx.room:room-ktx:2.3.0'
//(kotlin这里是kapt)
kapt  'androidx.room:room-compiler:2.3.0'
implemention 'org.jetbrains.kotlin:kotlin-stdlib:1.5.10'