Java 如何确定从AVSC文件生成的POJO的getter和setter不存在的原因?
我正在使用Maven Avro插件从AVSC文件生成POJO。不幸的是,从该文件生成的最顶层类loanInitiate似乎不包含模式中其他结构所需的任何getter和setter 为子节点生成的POJO确实具有预期的getter和setter。例如,将生成Customer类,它有一个Java 如何确定从AVSC文件生成的POJO的getter和setter不存在的原因?,java,maven,avro,Java,Maven,Avro,我正在使用Maven Avro插件从AVSC文件生成POJO。不幸的是,从该文件生成的最顶层类loanInitiate似乎不包含模式中其他结构所需的任何getter和setter 为子节点生成的POJO确实具有预期的getter和setter。例如,将生成Customer类,它有一个getNameBase()方法 我尝试过用各种方式编辑这个文件——改变结构等等——但我总是遇到格式无效的情况 为什么会生成一些getter和setter而不是其他呢 Avro模式文件定义如下: { "fie
getNameBase()
方法
我尝试过用各种方式编辑这个文件——改变结构等等——但我总是遇到格式无效的情况
为什么会生成一些getter和setter而不是其他呢
Avro模式文件定义如下:
{
"fields": [
{
"name": "loanInitiate",
"type": [
{
"type": "record",
"name": "eventheader",
"fields": [
{
"name": "eventType",
"type": "string",
"doc": "Loan"
},
{
"name": "eventSubtype",
"type": "string",
"doc": "Initiate"
},
{
"name": "eventDateTime",
"type": "string"
},
{
"name": "eventGeneratedDateTime",
"type": "string"
},
{
"name": "eventCorrelationId",
"type": [
"string",
"null"
]
},
{
"name": "eventRequestId",
"type": [
"string",
"null"
]
},
{
"name": "eventSourceDescription",
"type": [
"string",
"null"
]
},
{
"name": "eventSource",
"type": [
"string",
"null"
],
"doc": "The producer of this message."
},
{
"name": "eventInitiator",
"type": [
"string",
"null"
]
},
{
"name": "eventBatchGroupId",
"type": [
"string",
"null"
],
"doc": "BatchGroupID represents the GUID value given to each individual message which is part of a single batch."
},
{
"name": "eventBatchRecordCountTotal",
"type": [
"string",
"null"
],
"doc": "BatchRecordCountTotal provides the total number of messages belonging to a single batch."
}
]
},
{
"type": "array",
"name": "customer",
"items": {
"name": "customer",
"type": "record",
"fields": [
{
"name": "nameBase",
"type": {
"type": "record",
"name": "nameBase",
"fields": [
{
"name": "givenName",
"type": "string"
},
{
"name": "otherGivenName",
"type": [
"string",
"null"
]
},
{
"name": "fullName",
"type": "string"
},
{
"name": "suffix",
"type": [
"string",
"null"
]
},
{
"name": "surname",
"type": "string"
},
{
"name": "titlePrefix",
"type": [
"string",
"null"
]
}
]
}
},
{
"name": "party",
"type": {
"type": "record",
"name": "party",
"fields": [
{
"name": "parentEntityId",
"type": "string",
"doc": "The value of this field should equal the value the id field of the parent object."
},
{
"name": "partyRole",
"type": {
"type": "record",
"name": "partyRole",
"fields": [
{
"name": "code",
"type": {
"name": "code",
"type": "enum",
"symbols": [
"INSD",
"OWNR",
"PPAY",
"RCP"
]
}
},
{
"name": "subCode",
"type": {
"name": "subCode",
"type": "enum",
"symbols": [
"PRMR",
"LIST",
"BEN",
"DRBR",
"JNT"
]
}
}
]
}
}
]
}
},
{
"name": "id",
"type": "string",
"doc": "This is the identifier for an instance of customer, which can be related to from other objects."
}
]
}
},
{
"name": "bankAccount",
"type": "record",
"doc": "This object represents the bank account information, required for loan disbursements via ACH.",
"fields": [
{
"name": "accountType",
"type": {
"name": "accountType",
"type": "enum",
"symbols": [
"CHKNG",
"SVNG"
]
}
},
{
"name": "fullName",
"type": "string"
},
{
"name": "bankName",
"type": "string"
},
{
"name": "accountNumber",
"type": "string"
},
{
"name": "routingNumber",
"type": "string"
}
]
},
{
"type": "record",
"name": "trackingeventdetails",
"fields": [
{
"name": "workEventIdent",
"type": [
"string",
"null"
],
"doc": "This field will be populated based on the creation of a tracking work event. This field value holds the key for that particular event."
},
{
"name": "applicationId",
"type": "string"
},
{
"name": "divisionCode",
"type": "string"
},
{
"name": "departmentCode",
"type": "string"
},
{
"name": "workEventNumber",
"type": "int"
},
{
"name": "longComment",
"type": "string"
},
{
"name": "actualEventDate",
"type": "string"
},
{
"name": "priorityCode",
"type": "string"
},
{
"name": "contactTypeCode",
"type": "string"
},
{
"name": "receivedDate",
"type": "string"
},
{
"name": "shortComment",
"type": "string"
},
{
"name": "lastUpdatedBy",
"type": "string"
},
{
"name": "loggedByIdent",
"type": "string"
},
{
"name": "resourceId",
"type": "string"
},
{
"name": "requestOrTypeCode",
"type": "string"
},
{
"name": "serviceChannelSourceCode",
"type": "string"
},
{
"name": "nigoCode",
"type": "string"
},
{
"name": "imageAvailableIndicator",
"type": "string"
},
{
"name": "completionIndicator",
"type": "string"
}
]
},
{
"type": "record",
"name": "policy",
"fields": [
{
"name": "id",
"type": "int"
},
{
"name": "number",
"type": "long"
},
{
"name": "agreementNumberPrefix",
"type": "string"
},
{
"name": "agreementNumberSuffix",
"type": "string"
},
{
"name": "adminSystem",
"type": "string"
}
]
},
{
"type": "record",
"name": "loantransactiondetails",
"doc": "This represents the values specific to the loan transaction.",
"fields": [
{
"name": "transactionAmount",
"type": "string",
"doc": "The amount of the loan."
},
{
"name": "transactionType",
"type": "string"
},
{
"name": "transferAmount",
"type": {
"name": "transferAmount",
"type": "enum",
"symbols": [
"Max",
"Other"
]
}
}
]
}
]
}
],
"type": "record",
"namespace": "com.stream.process",
"name": "loanInitiate"
}
不相关-因为每个记录都是一个Java类,它们应该以大写字母sagreed开头-这个模式来自于某个企业范围的计划,该计划利用ACORD,ACORD以这种方式定义它们。