ORMLite ile kullanacağım birkaç ORM sınıfım var. Hepsi bir statik alana (DAO) ve bir çift statik yönteme sahiptir. Böyle bir jenerik Süreklik bu üçünü taşımak istiyorum: Ben bir örnek yöntemine yöntemini değiştirirsenizGenel bir özellikten ORMLite ek açıklamaları bulunamıyor
trait ORM<K, V> {
private static Dao<K, V> dao = null
@Synchronized
static Dao getDao() {
dao = dao ?: DaoManager.createDao(DatabaseConnection.get(), K)
}
}
Bu yaklaşım,
java.lang.IllegalArgumentException: No fields have a DatabaseField annotation in class java.lang.Object
Ancak aşağıdaki hatayı vererek işe yaramaz
trait ORM<K, V> {
private static Dao<K, V> dao = null
@Synchronized
Dao getDao() {
dao = dao ?: DaoManager.createDao(DatabaseConnection.get(), this.getClass())
}
}
İyi çalışıyor, ancak örnek bir yöntem olması pek anlamlı değil.
Statik bir bağlamda nasıl çalışılacağı hakkında bir fikrin var mı?