0
我有以下ORMLITE代碼行來創建一個dao(數據訪問對象)。我試圖通過爲不同的數據庫表/實體編寫相同的語句來避免爲所有實體重複自己。如何創建一個接受未知類類型並返回正確對象的幫助方法
Dao<Entity, String> entityDao = DaoManager.createDao(connectionSource,Entity.class);
我該如何創建一個接受任何實體的方法,並返回正確的entityDao對象。
,這樣我可以結合邏輯
Dao<UserEntity, String> userEntityDao = DaoManager.createDao(connectionSource,UserEntity.class);
和
Dao<AccountEntity, String> accountEntityDao = DaoManager.createDao(connectionSource,AccountEntity.class);
我曾嘗試以下方法:
private Dao<?, String> createDAO(Class<?> dataClass) throws SQLException{
// instantiate the dao
return DaoManager.createDao(connectionSource, dataClass);
}
但不幸的是我得到了以下錯誤:
incompatible types: inferred type does not conform to upper bound(s) inferred: Dao<CAP#1,?> upper bound(s): Dao<CAP#1,?>,Dao<?,String> where CAP#1 is a fresh type-variable: CAP#1 extends Object from capture of ?