【问题标题】:help with java type erasure帮助 java 类型擦除
【发布时间】:2009-07-29 14:41:54
【问题描述】:

在我了解休眠的漫长旅程中,我想使用通用 DAO,并在 hibernate site 看到一篇好文章,并尝试了 HIBERNATE 部分的实现。我有一个错误说:GenericDAOImpl.java: [22,16] 名称冲突:GenericDAOImpl 中的 makeTransient(T) 和 GenericDAO 中的 makeTransient(T) 具有相同的擦除,但都不会覆盖另一个。我不知道如何解决?感谢阅读

【问题讨论】:

  • 如果您喜欢某个答案,正常的做法是点赞和/或接受它。

标签: java hibernate generics abstract-class


【解决方案1】:

如果没有看到您的一些代码,很难说。例如,您的实现类应该定义为类似

public class GenericDAOImpl<T, ID> implements GenericDAO<T, ID>

如果你错过了GenericDAOImpl 类定义中的泛型参数,你会得到这个错误。

【讨论】:

  • 既然我跳过了那部分,我应该覆盖抽象 GenericDAOImpl 类的方法吗?我在执行 DAO 时出错,说 MessageDetailsDAOImpl.java:[21,7] dao.hibernate.MessageDetailsDAOImpl 不是抽象的,并且不会覆盖 dao.GenericDAO 中的抽象方法 findById(java.lang.Long,boolean) .这不像我可以在评论中发布我的代码,还是我应该为此创建另一个问题?
  • 创建另一个问题通常会更好 - 每个问题都应针对一个特定问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多