不要重复DAO!使用通用DAO

时间:2014-04-24 15:01:32

标签: java spring hibernate generics

我一直在尝试通过以下方式创建通用DAO: http://www.ibm.com/developerworks/java/library/j-genericdao/index.html

但是,我仍然坚持使用它。这条线看起来像这样:

GenericDao dao = (GenericDao);

我不明白这里发生了什么,主要是在等式的右边。 Eclipse在这一行上给了我两个标记:

  

GenericDao是原始类型,应该参数化。 (这是在左边的GenericDao上)

     

GenericDao无法解析为变量。 (这在右边的GenericDao上)

我从未在作业的右侧看到括号中的类/接口名称,因此我不确定如何制作它。解释这一行中发生了什么,以便我能够弄清楚我应该做些什么才能让它发挥作用将非常感激。

(使用Eclipse Kepler,Hibernate 4.3.5,Spring IDE 3.5,M2E 1.4.1,如果有任何不同之处)

3 个答案:

答案 0 :(得分:2)

如果查看给定的代码示例,那里会有换行符。该行应为: GenericDao dao = (GenericDao) beanFactory.getBean("personDao");并修复有关原始类型的错误,将其更改为GenericDao<Person,Long> dao = (GenericDao<Person, Long>) beanFactory.getBean("personDao");或接近该值的内容,假设主键的类型为Long

答案 1 :(得分:0)

示例中的整行是

 GenericDao dao = (GenericDao)beanFactory.getBean("personDao");

答案 2 :(得分:0)

正确的代码行:

GenericDao dao = (GenericDao)
 beanFactory.getBean("personDao"); // This should normally be injected