问题描述
我正在SpringBoot上的一个项目上工作。当我尝试使用在服务的抽象服务类上声明的自动连接存储库(验证功能上的存储库)时,此错误显示:
com.sun.proxy。$ Proxy98无法转换为com.highschoolregistration.app.repo.user.UserRepository
这是我的服务类:
@Service
public class UserServiceImpl extends AbstractServiceImpl<UserRepository,User,UserDTOS,UserDTOR>
implements UserService
{
@Autowired
private UserTypeService userType;
public UserServiceImpl() {
super(User.class,UserDTOS.class,UserDTOR.class);
}
@Override
public User setForeignKeys(User entity,UserDTOR dtor) {
entity.setUserType(userType.getEntityById(dtor.getUserTypeId()));
return entity;
}
@Override
public String validate(User entity) {
if(repo.findOneByIdNumber(entity.getIdNumber()) != null)
return "Student already exists";
return "";
}
}
这是 AbstractServiceClass 的一部分,因为我不需要展示所有内容:
@Getter
public abstract class AbstractServiceImpl
<Repo extends BaseRepository<Entity>,Entity extends BaseResource,DTOS extends BaseResource,DTOR extends BaseResource>
implements AbstractService<Repo,Entity,DTOS,DTOR>
{
@Autowired
protected Repo repo;
protected Class<Entity> entityClass;
protected Class<DTOS> dtoSClass;
protected Class<DTOR> dtoRClass;
@Setter
protected ServiceMapper<Entity,DTOR> mapper;
public AbstractServiceImpl(Class<Entity> entityClass,Class<DTOS> dtoSClass,Class<DTOR> dtoRClass ) {
this.entityClass = entityClass;
this.dtoRClass = dtoRClass;
this.dtoSClass = dtoSClass;
mapper = new JMapperImpl<>(entityClass,dtoSClass,dtoRClass);
}
...
}
这是存储库:
public interface UserRepository extends BaseRepository<User> {
public User findOneByIdNumber(String idNumber);
}
和 BaseRepository :
public interface BaseRepository<T extends BaseResource> extends JpaRepository<T,Long> {
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)