gpt4 book ai didi

安卓房间 : DAOs with nested DAOs

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:27 30 4
gpt4 key购买 nike

有没有办法使用 Android Room Persistence Library 将 DAO 作为依赖项添加到其他 DAO 中,也许是使用 Dagger2?我试图避免在使用事务对多个表执行操作的 DAO 类中出现方法爆炸。

这就是我想要完成的。

例子:FooBarRepository.class

@Dao
public abstract class FooBarRepository {
// THESE ARE DAOs ADDED AS DEPENDENCIES
FooRepository fooRepository;
BarRepository barRepository;

...

@Transaction
public void insertOrUpdateInTransaction(FooBar... foobars) {
for (FooBar item : foobars) {
fooRepository.insertOrUpdateInTransaction(item.getFoo());
barRepository.insertOrUpdateInTransaction(item.getBar());
}
}
}

最佳答案

终于找到了解决方案:

@Dao
public abstract class Repository {

private final TaskRepository taskRepository;
private final ResourceRepository resourceRepository;

public Repository(AppDatabase database) {
this.taskRepository = database.getTaskRepository();
this.resourceRepository = database.getResourceRepository();
}
...

这是允许的,因为一个 dao 对象 can take the database as a constructor parameter .

关于安卓房间 : DAOs with nested DAOs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46767224/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com