Я пытаюсь написать простой DAO, который будет создавать объекты сущностей на основе их типа, хранящегося в поле String. Как вернуть тип, который изменяется динамически?
Метод findById () класса UserDAO должен возвращать объект класса User. Тот же метод для ProductDAO должен вернуть Product.
Я не хочу реализовывать findById в каждом классе, который расширяет DAO, это должно быть сделано автоматически.
Пример кода:
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;
}