Java 如何确定从AVSC文件生成的POJO的getter和setter不存在的原因?

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

我正在使用Maven Avro插件从AVSC文件生成POJO。不幸的是,从该文件生成的最顶层类loanInitiate似乎不包含模式中其他结构所需的任何getter和setter

为子节点生成的POJO确实具有预期的getter和setter。例如,将生成Customer类,它有一个
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以这种方式定义它们。