Как добавить @XmlTransient в Hibernate Java obj - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть компонент Java, сгенерированный Hibernate:

Я хочу сделать определенные поля @XmlTransient так, чтобы в запросе XML SOAP пользователю не приходилось заполнять их следующим образом:

// Generated Feb 25, 2020 9:19:29 AM by Hibernate Tools 3.1    

String WarriorID = "";
@XmlTransient   
Name name = null;
@XmlTransient
int HPStat = -1;
@XmlTransient
int MPStat = -1;

поэтому в моем SOAPUI я ожидаю, что он будет выглядеть как

<warriorID> </warriorID>

, где другие поля не будут включены / видимы.

Итак, я скачал xml -apis.jar из mvnrespository, поэтому я могу вызвать эту аннотацию.

Проблема заключается в том, что после включения xml -apis.jar в мой BuildPath Eclipse по-прежнему подчеркивает команду красным цветом. подразумевая, что он не знает эту аннотацию:

ml

Что я делаю не так? Это веб-сервис, который будет использоваться клиентом SOAP позже.

Я также не могу использовать @ Transient

Спасибо за помощь.

1 Ответ

1 голос
/ 25 февраля 2020

Что я делаю не так?

Как уже говорилось в моем комментарии, вы импортируете не ту банку. Существует несколько онлайн-сервисов, которые помогают найти все банки, содержащие определенный класс, например, http://findjar.com (в идеале вы сначала должны обратиться к документации, связанной с этим классом).

Используя этот сервис, вы увидите, что банки, содержащие javax.xml.bind.annotation.XmlTransient, в основном имеют имя jaxb-api.jar или имеют ключевое слово bind в своих именах: https://www.findjar.com/class/javax/xml/bind/annotation/XmlTransient.html

Дополнительно, если у вас возникают проблемы даже после того, как вы импортируете банку, которая, по вашему мнению, вам нужна, вы можете заглянуть внутрь этой банки с помощью программы для просмотра zip (например, 7zip). Таким образом, вы должны увидеть, что xml -apis.jar содержит папки javax/xml/parsers и javax/xml/transform, но не javax/xml/bind - так что это должен быть неправильный файл.

Кстати, "я скачал xml -apis.jar из mvnrespository "звучит так, как будто вы обрабатываете зависимости вручную. Если это так, я предлагаю взглянуть на инструменты сборки, такие как Maven или Gradle.

...