android - 在 dao room 数据库中创建一个带有 body 的自定义函数

标签 android dao android-room

我想用这样的自定义函数创建一个 DAO 对象

@Dao
interface DataAccessObjDao{
    @Insert
    fun insert(someEntity: SomeEntity)

    @Ignore
    fun sampleFun(){
        insert(SumEntity())
    }

}

但是编译器提示样本有趣

类“DataAccessObjDao_Impl”必须声明为抽象类或在“DataAccessObjDao”中实现抽象方法“sampleFun()”

最佳答案

@Ignore 用于属性或实体,不能用在方法上。
您可以通过扩展界面来做到这一点:

fun DataAccessObjDao.sampleFun(){
    // irrelevant code
}

或者通过添加@Transaction

@Transaction
fun sampleFun(){
    firstDelete()
    thenInsert()
}

关于android - 在 dao room 数据库中创建一个带有 body 的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51453449/

相关文章:

android - SQLite 需要具有唯一约束(Android Room 注释)

android - 房间 - 插入或替换,但保留数据库字段?

java - 如何根据出生日期准确计算 Java 中的年龄

android - 使简单的 Accordion 可滚动

c# - ASP MVC : Should services return IQueryable's?

java - 关于hibernate-spring-dao的问题

android - Firestore 作为离线持久性机制有多可靠?

java - 如何在 android studio 发布版本中修复 "There is no public dispose() method in the class d.g.b$a"

android - Realm 的最新版本给我带来了问题

android - 如何使用 GreenDao ORM 库从 Android 中的 Assets 创建数据库