有什么方法可以使用 Android Room 创建可重用的通用基类 DAO?
public interface BaseDao<T> {
@Insert
void insert(T object);
@Update
void update(T object);
@Query("SELECT * FROM #{T} WHERE id = :id")
void findAll(int id);
@Delete
void delete(T object);
}
public interface FooDao extends BaseDao<FooObject> { ... }
public interface BarDao extends BaseDao<BarEntity> { ... }
在不必声明相同的接口成员并为每个子类编写查询的情况下,我无法想出任何方法来实现这一点。当处理大量类似的 DAO 时,这变得非常乏味......