java - 如何将 Java 类映射到 Oracle 自定义类型以用作存储过程中的 IN 参数?
问题描述
我正在尝试使用 oracledb 中的自定义对象作为过程的 IN 参数,但是从我的 java 应用程序发送它时遇到问题
我尝试将 DTO 类直接映射到
query.registerStoredProcedureParameter(1, CustomClass.class, ParameterMode.IN);
我也没有在stackoverflow中找到这个特定的问题
Java代码:
private String executeSP(CustomClass dto) {
StoredProcedureQuery query = em.createStoredProcedureQuery("PACKAGE.SOMEPROCEDURE");
query.registerStoredProcedureParameter(1, CustomClass.class, ParameterMode.IN);
query.registerStoredProcedureParameter(2, String.class, ParameterMode.OUT);
// Pass the parameter values
query.setParameter(1, dto);
// Execute query
query.execute();
// Get output parameters
String response = (String) query.getOutputParameterValue(2);
System.out.println(response);
return response;
}
PL SQL 过程:
PROCEDURE SOMEPROCEDURE (
P_DTO IN DTOTYPE (previously created)
P_RESULT OUT VARCHAR2);
预期结果:Hibernate 将 dto 映射到 oracle 自定义对象实际结果:org.hibernate.MappingException: Unknown entity
解决方案
推荐阅读
- javascript - 传单导出 geojson 开关 lat 和 long
- azure-data-explorer - KQL 时间序列对时间范围进行分组 - Kusto
- typescript - React Navigation 5 - 嵌套导航无法导航
- java - 使用 zxing 从扫描仪读取低质量图像条码
- r - 在 DT 中单击时更新 data.frame
- java - 我需要从这个java代码构建一个junit测试
- swiftui - OpenWeather 数据未使用 SwiftUI 和 Combine 返回
- c++ - Pthread、障碍和共享数组的意外行为
- pytorch - 了解为什么在推理、反向传播和模型更新期间会发生内存分配
- facebook - 为什么分享时没有显示这篇文章的OG Image?