В приведенной ниже службе я пытаюсь инициализировать мой Dao и вводить в него EntityManager. Мы не используем весну для этого проекта. Моя IDE жалуется на вызов setEntityManager()
, потому что он не может признать, что объект всегда равен GenericDao
. Это правильный способ сделать это?Как вызвать метод для общего типа определенного типа
public class GenericService<T, Dao> {
private static Logger logger = Logger.getLogger(Logger.class.getName());
protected Dao dao;
protected EntityManager em;
public GenericService(Class<Dao> daoClass) {
try {
dao = daoClass.newInstance();
EntityManagerFactory emf = Persistence.createEntityManagerFactory("unit");
em = emf.createEntityManager();
dao.setEntityManager(em);
} catch(InstantiationException e) {
logger.log(Level.SEVERE, "Unable to initialize DAO: {1}", daoClass.getClass());
} catch(IllegalAccessException e) {
logger.log(Level.SEVERE, "Unable to initialize DAO: {1}", daoClass.getClass());
}
}
}
Хороший вызов ... то, что мне нужно было 'общественного класса GenericService {' –
Webnet