我一直在尝试按照以下步骤创建一个通用的 DAO: http://www.ibm.com/developerworks/java/library/j-genericdao/index.html
不过,我对它的实际使用感到困惑。有一行看起来像这样:
GenericDao dao = (GenericDao);
我不明白这里发生了什么,主要是在等式的右侧。 Eclipse 在这一行给了我两个标记:
GenericDao is a raw type and should be parameterized. (This is on the GenericDao on the left)
GenericDao cannot be resolved to a variable. (This on the GenericDao on the right)
我从来没有在作业的右侧括号中看到过单独的类/接口(interface)名称,所以我不知道该怎么理解它。非常感谢对这一行中发生的事情的解释,以便我能够弄清楚我应该用它做什么来使其工作。
(如果有任何区别,请使用 Eclipse Kepler、Hibernate 4.3.5、Spring IDE 3.5、M2E 1.4.1)
最佳答案
如果您查看给出的代码示例,就会发现那里有一个换行符。该行应读为
GenericDao dao = (GenericDao) beanFactory.getBean("personDao");
要修复有关原始类型的错误,请将其更改为 GenericDao<Person,Long> dao = (GenericDao<Person, Long>) beanFactory.getBean("personDao");
或类似的东西,假设主键的类型是 Long
关于java - 不要重复 DAO!使用通用 DAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23272683/