作为一个整体,我对Spring和Java非常陌生,目前正在开发一个API。我有一段代码,它访问MSSQL数据库,检索结果,并将其可视化,但它不起作用。我的意思是,如果我只调用过程并可视化结果集,它就会正常工作。问题是我无法处理“RatingProcedure”对象。当我尝试获取某个对象的值时,会显示以下错误:
Hibernate:{调用dis_entity.spdcmpracovnici(?,,,?)}2019-09-02 01:56:01.355警告8720---[nio-8050-exec-3]。m、 m.a.ExceptionHandlerExceptionResolver:Resolved[java.lang.ClassCastException:class[Ljava.lang.Object;无法强制转换到class com.pproi.dcm.ratingprocedure.ratingprocedure([Ljava.lang.Object;位于加载程序“引导”的模块java.base中);
守则:
@GetMapping("/replacements/{sourceId}/workers")
public ResponseEntity<List<PossibleReplacementResponseModel>> getReplacements(@PathVariable Integer sourceId,
@RequestParam(required = false) Integer targetWorkerId,
@RequestParam(required = false) Integer targetLineId,
@RequestParam(required = false) String targetWorkplaces) {
List<PossibleReplacementResponseModel> response = new ArrayList<>();
// 400 Bad Request
if ((targetLineId != null && targetWorkerId != null) || (targetWorkplaces != null && targetLineId == null))
return ResponseEntity.badRequest().build();
StoredProcedureQuery ratingProcedure = entityManager.createNamedStoredProcedureQuery("dcmrating");
StoredProcedureQuery storedProcedure = ratingProcedure.setParameter("pk_target_worker", targetWorkerId)
.setParameter("pk_target_sdl", targetLineId).setParameter("pk_target_workplaces", targetWorkplaces)
.setParameter("pk_source_sdl", sourceId);
List<RatingProcedure> ratings = storedProcedure.getResultList();
for(RatingProcedure rating : ratings) {
PossibleReplacementResponseModel responseModel = new PossibleReplacementResponseModel();
Optional<Worker> _worker = workerRepository.findById(rating.getPersonalId());
if(_worker.isPresent()) {
Worker worker = _worker.get();
responseModel.setId(worker.getId());
responseModel.setName(worker.getFullName());
responseModel.setSkills(findWorkersSkills(worker));
responseModel.setPhysicalExamination(findWorkersMedicalExaminationEndDate(worker));
responseModel.setExams(findWorkersExams(worker));
responseModel.setRestrictions(findWorkersRestrictions(worker));
responseModel.setRating(rating.getRating());
}
response.add(responseModel);
}
return ResponseEntity.ok(response);
}
我甚至可能对解决方案有了想法!我可能应该自定义我的重启类加载器,如图所示,但我的技能到此为止,我不知道应该在文件中指定什么。
有什么想法吗?
非常感谢。
也许这里发生的是:正在为基类创建引用,然后为继承的类进行转换。
让我举个例子。假设我们有一个名为“BaseClass”的基类,一个名为“ChildClass”的类正在扩展“BaseClass”。
BaseClass bClass = new BaseClass(); // NOTICE HERE -> new BaseClass();
// Somewhere in next code lines
ChildClass childClass = (ChildClass) bClass;
这将抛出您提到的错误。
这样做:
BaseClass bClass = new ChildClass(); // NOTICE HERE -> new ChildClass();
// Somewhere in next code lines
ChildClass childClass = (ChildClass) bClass;
我希望这能像解决我的问题一样解决问题
java.lang.ClassCastException: class <Class_Name> cannot be cast to class <Class_Name> (<Class_Name> is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader <Class_Name> is in unnamed module of loader 'app')
这与spring开发工具包有关。如果不需要,请尝试删除该包。
一个简单的解决方法是通过设置系统属性禁用重启:
spring.devtools.restart.enabled = false
例如,当使用spring boot maven插件时,按以下方式启动应用程序:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.devtools.restart.enabled=false"
我有这个问题,想通过NetBeans解决它,我仍然不知道如何从提示符中使用maven,我找到了一个解决方案,但它是从提示符中找到的,有人知道怎么做吗?谢谢 原因:java.lang.ClassCast异常:类java.util.无法将$list12强制转换为类br.edu.iff.projetoEstoque.model.FuncionarioResp(java.util.ImMutableCol
20.2.5 定制重启类加载器 如上面的重启vs重载部分所述,重启功能是通过使用两个类加载器来实现的。对于大多数应用程序来说,这种方法运行良好,但有时会导致类加载问题。 默认情况下,IDE中打开的任何项目都将使用“重启”类加载器加载,而任何常规的.jar文件将使用“基本”类加载器加载。如果您工作在多模块项目中,而不是将每个模块都导入IDE,那么那你可能需要自己进行一些设置。要做到这一点,你可以创建
我是OSGi概念的新手,对于下面的错误,我非常感谢您的帮助。 当运行独立应用程序时没有问题,但是当同一个应用程序放在OSGI包中时,我们得到以下错误。 原因异常java.lang.运行时异常:无法实例化解析器org.apache.xerces.parsers.SAXParser:java.lang.类org.apache.xerces.parsers.SAXParser无法转换为类org.xml.
当用户从用户界面更改配置时,我想动态地重新加载log4j附加器(RollingFileAppender)。 我已经通过编程删除了追加器,并用新的配置值创建了新的追加器。在此之后,appender broked MaxBackupIndex和MaxFileSize无法正常工作。但是如果我更改了文件名(日志文件名),那么它可以正常工作。 能帮我解决这个问题吗?
我刚刚开始使用composer进行依赖关系管理,我很难弄清楚我是如何不遵守psr-4进行自动加载的,所以我来这里寻求建议。我有一个生成随机值的类,它已经在packagist上了。项目结构如下(我已将composer.json文件标记为A和B): 项目总监 composer.jsonA composer.jsonB 最后是RlandValue.php文件,它声明了ejFrancis命名空间 当我运行
我不熟悉使用composer和psr-0。我尝试了一个使用composer和psr-0的小应用程序。我已经使用名称空间加载了一个特定的类。当我使用composer vendor/autoload调用一个类时,我得到了“未找到类”错误。 我的composer.json文件:/var/www/html/silexapp/composer.json 我的作曲家供应商自动加载文件:/var/www/htm