java类型擦除帮助

java类型擦除帮助,java,hibernate,generics,abstract-class,Java,Hibernate,Generics,Abstract Class,在我学习hibernate的漫长旅程中,我想使用generic DAO,在上一节我遇到了一篇好文章,并试用了hibernate部分的实现。我遇到了一个错误,说:GenericDAOImpl.java:[22,16]名称冲突:GenericDAOImpl中的MakeTransive(T)和GenericDAO中的MakeTransive(T)具有相同的擦除,但是两者都不能替代另一个。我不知道如何解决这个问题。感谢您阅读了一些代码,但没有看到您的代码,这很难说。例如,您的实现类应该定义为 publi

在我学习hibernate的漫长旅程中,我想使用generic DAO,在上一节我遇到了一篇好文章,并试用了hibernate部分的实现。我遇到了一个错误,说:GenericDAOImpl.java:[22,16]名称冲突:GenericDAOImpl中的MakeTransive(T)和GenericDAO中的MakeTransive(T)具有相同的擦除,但是两者都不能替代另一个。我不知道如何解决这个问题。感谢您阅读了一些代码,但没有看到您的代码,这很难说。例如,您的实现类应该定义为

public class GenericDAOImpl<T, ID> implements GenericDAO<T, ID>
公共类GenericDAOImpl实现GenericDAO

如果在
GenericDAOImpl
类定义中遗漏了泛型参数,则会出现此错误

如果你喜欢一个答案,通常要做的事情就是投票和/或接受它。既然我跳过了这个部分,我应该重写抽象GenericDAOImpl类中的方法吗?我在DAO的实现中遇到了一个错误,即MessageDetailsDAOImpl.java:[21,7]DAO.hibernate.MessageDetailsDAOImpl不是抽象的,并且没有覆盖DAO.GenericDAO中的抽象方法findById(java.lang.Long,boolean)。这不是说我可以在评论中发布我的代码,或者我应该为此创建另一个问题?通常最好创建另一个问题-每个问题应该处理一个特定的问题。