0
ORMLiteで使用するいくつかのORMクラスがあります。それらのすべてに1つの静的フィールド(DAO)と2つの静的メソッドがあります。私はインスタンスメソッドにメソッドを変更した場合ORMLiteアノテーションが一般的なTraitから見つかりません
trait ORM<K, V> {
private static Dao<K, V> dao = null
@Synchronized
static Dao getDao() {
dao = dao ?: DaoManager.createDao(DatabaseConnection.get(), K)
}
}
このアプローチは、しかし、次のエラー
java.lang.IllegalArgumentException: No fields have a DatabaseField annotation in class java.lang.Object
を与え、動作しません。私はこのように、一般的な形質にこれら三つを移動したいです〜のように
trait ORM<K, V> {
private static Dao<K, V> dao = null
@Synchronized
Dao getDao() {
dao = dao ?: DaoManager.createDao(DatabaseConnection.get(), this.getClass())
}
}
それはうまく動作しますが、それはインスタンスメソッドであるとあまり意味がありません。
静的コンテキストで動作させるにはどうすればよいですか?