String フィールドに格納されている型に基づいてエンティティ オブジェクトを作成する単純な DAO を作成しようとしています。動的に変更された型を返す方法は? UserDAO クラスのメソッド findById() は User クラス オブジェクトを返す必要があります。ProductDAO の同じメソッドは Product を返す必要があります。DAO を拡張するすべてのクラスに findById を実装したくありません。自動的に実装する必要があります。
コード例:
class DAO {
protected String entityClass = "";
public (???) findById(int id) {
// some DB query
return (???)EntityFromDatabase; // how to do this?
}
}
class UserDAO extends DAO {
protected String entityClass = "User";
}
class ProductDAO extends DAO {
protected String entityClass = "Product";
}
class User extends Entity {
public int id;
public String name;
}