Java SimpleJDBCall:如何将包含另一种SQL类型数组的SQL类型的Oracle数组映射/发送到Oracle存储过程?
这是我想要发送给oracle过程的Bean结构Java SimpleJDBCall:如何将包含另一种SQL类型数组的SQL类型的Oracle数组映射/发送到Oracle存储过程?,java,oracle,stored-procedures,spring-jdbc,jdbctemplate,Java,Oracle,Stored Procedures,Spring Jdbc,Jdbctemplate,这是我想要发送给oracle过程的Bean结构 public class DMSApplicantIdScanningData { private String refId; private String applicantType; private String applicantName; private List<DMSDocument> dmsDocuments; //getter and setter methods } publi
public class DMSApplicantIdScanningData {
private String refId;
private String applicantType;
private String applicantName;
private List<DMSDocument> dmsDocuments;
//getter and setter methods
}
public class DMSDocument {
private String documentName;
private String category;
private Date scannedDate;
//Getter and Setter Methods
}
然而,这不起作用
如果需要关于问题的更多信息,请在下面发表评论我认为您需要遵循此项目: 您的代码应该是这样的:
ARRAY create(List<Map> data, String tableName, String recordName) {
def recordKeys = internalProperties.getProperty(recordName.replaceFirst(/.*\./, '')).split(',')
def connection = nativeConnection
def structDescriptor = StructDescriptor.createDescriptor(recordName, connection)
def dataArray = []
data.each { recordMap ->
def record = []
if (recordMap) {
recordKeys.each {
record << recordMap[it]
}
dataArray << new STRUCT(structDescriptor, connection, record.toArray())
}
}
new ARRAY(ArrayDescriptor.createDescriptor(tableName, connection), connection, dataArray.toArray())
}
很抱歉,Groovy代码:-
其思想是:为每个列表项创建STRUCT,并为适当的过程参数构建数组
ARRAY create(List<Map> data, String tableName, String recordName) {
def recordKeys = internalProperties.getProperty(recordName.replaceFirst(/.*\./, '')).split(',')
def connection = nativeConnection
def structDescriptor = StructDescriptor.createDescriptor(recordName, connection)
def dataArray = []
data.each { recordMap ->
def record = []
if (recordMap) {
recordKeys.each {
record << recordMap[it]
}
dataArray << new STRUCT(structDescriptor, connection, record.toArray())
}
}
new ARRAY(ArrayDescriptor.createDescriptor(tableName, connection), connection, dataArray.toArray())
}