java - 不要重复 DAO!使用通用 DAO

标签 java spring hibernate generics

我一直在尝试按照以下步骤创建一个通用的 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/

相关文章:

java - 如何检查字符串是否有连续的空格

java - 问题 - java.lang.ClassNotFoundException : org. springframework.web.servlet.DispatcherServlet

java - sitemesh和spring MVC装饰器模式问题

Spring 数据是否需要 hibernate

java - c3p0 连接池不关闭连接

java - 在 Java 上运行网络蜘蛛

java - 我如何找出方法所在的库?

spring - 如何使用Hibernate JPA和Spring Framework启用加载时间/运行时编织

spring - 代理无法转换为 CLASS

java - 减少 JFrame 绘画中的延迟