休止状態で特定のIDでデータベースからオブジェクトをロードするための汎用getメソッドを取得しようとしています。メソッドを開始する前は、次のようになっていました。
public static Object getObjectFromDatabase(Class c, long id) {
Transaction newTransaction = getSession().beginTransaction();
Object result = getSession().get(c, id);
newTransaction.commit();
return result;
}
次に、次のコードを使用してジェネリック メソッドを取得しようとしました。
public static <T> T getObjectFromDatabase(Class<T> c, long id) {
Transaction newTransaction = getSession().beginTransaction();
T result = getSession().get(c, id);
newTransaction.commit();
return result;
}
残念ながらライン
T result = getSession().get(c, id);
エラーが発生します: タイプの不一致: オブジェクトから T に変換できません
Tへの明示的なキャストを使用できることを知っています
T result = (T) getSession().get(c, id);
しかし、このキャストを回避する方法はありますか??
ありがとうございました