Возможно ли иметь Дао без аннотированного метода? И переопределить его в производных классах?
interface DaoBase<TEntity, TId> where TEntity : Entity<TId> {
@Insert
fun add(entity: TEntity)
fun get(id: TId): TEntity?
@Update
fun update(entity: TEntity)
}
fun <TEntity, TId> DaoBase<TEntity, TId>.addOrUpdate(entity: TEntity) where TEntity : Entity<TId> {
val entityQ = get(entity.id)
if(entityQ == null) {
add(entity)
} else {
update(entity)
}
}
Я получаю эту ошибку для объекта DaoBase:
DaoBase.java:13: error: An abstract DAO method must be annotated with one and only one of the following annotations: Insert,Delete,Query,Update,RawQuery
public abstract TEntity get(TId id);
И ту же ошибку на любом Дао, который наследуется от него. Я думаю, что код, который генерирует код, может иметь ошибку?