Я пытаюсь создать набор классов Java из * .xsd-файлов, которые имеют общий сопоставленный суперкласс (называемый DataObject). До сих пор мне удалось получить его для создания классов, которые являются потомками DataObject, используя следующие в файле bindings.xjb:Hyperjaxb3: Как заставить его использовать идентификатор суперкласса?
<jaxb:globalBindings localScoping="toplevel"> <xjc:superClass name="com.companyname.model.DataObject"/> <jaxb:serializable uid="1" /> </jaxb:globalBindings>
Моя проблема заключается в том, что Hyperjaxb3 генерирует свой собственный первичный ключ с именем hjid , но DataObject уже содержит первичный ключ, и мне нужно/нужно использовать его.
Итак, как остановить Hyperjaxb3 от генерации hjid для всех классов? Я уже пробовал различные предложения, которые я нашел в Интернете, но они не работали для меня.
Спасибо, но я уже пробовал те, и это не сработало. Я только что видел, что код XML, который я поставил в вопросе, не появляется. Я постараюсь это исправить. Чтобы быть ясным, я пытаюсь использовать поле id в * суперклассе * и не пытаюсь сделать одно из полей в сгенерированных классах id. Я установил файл bindings.xjb, чтобы сделать все сгенерированные классы дочерними элементами DataObject, который имеет поле ID. –