Java 重写返回T的泛型超类的方法
超级课堂看起来是这样的:Java 重写返回T的泛型超类的方法,java,generics,inheritance,subclass,Java,Generics,Inheritance,Subclass,超级课堂看起来是这样的: public class DomainRepository<T> { public DomainRepository(Class genericType) { this.genericType = genericType; } @Transactional(readOnly = true) public T get(final long id) { return (T) sessionFact
public class DomainRepository<T> {
public DomainRepository(Class genericType) {
this.genericType = genericType;
}
@Transactional(readOnly = true)
public T get(final long id) {
return (T) sessionFactory.getCurrentSession().get(genericType, id);
}
}
公共类域存储库{
公共域存储库(类genericType){
this.genericType=genericType;
}
@事务(只读=真)
公共T获取(最终长id){
return(T)sessionFactory.getCurrentSession().get(genericType,id);
}
}
子类看起来像这样
public class FooRepository extends DomainRepository<Foo> {
public FooRepository(){
super(Foo.class);
}
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public Foo get(final Long id) { //blah blah
公共类FooRepository扩展了DomainRepository{
公共存储库(){
超级(食品级);
}
@凌驾
@事务性(传播=propagation.REQUIRED,rollboor=Exception.class)
公共Foo-get(最终长id){//诸如此类
但是我的IDE突出显示@Override annoation上的错误,说IGN方法会覆盖任何东西…?看起来像
Long
和Long
不匹配。看起来像Long
和Long
不匹配。ffs。非常感谢,这已经消除了错误。允许时将接受。ffs。非常感谢,这已经得到了清除错误。允许时将接受。