如何在HibernateJavaOBJ中添加@XmlTransient

如何在HibernateJavaOBJ中添加@XmlTransient,java,spring,hibernate,soap,jaxb,Java,Spring,Hibernate,Soap,Jaxb,我有一个由Hibernate生成的Java bean: 我想在XML SOAP请求中设置@XmlTransient so的某些字段,这样用户就不必像这样填写它们: // Generated Feb 25, 2020 9:19:29 AM by Hibernate Tools 3.1 String WarriorID = ""; @XmlTransient Name name = null; @XmlTransient int HPStat = -1; @XmlTransient

我有一个由Hibernate生成的Java bean:

我想在XML SOAP请求中设置@XmlTransient so的某些字段,这样用户就不必像这样填写它们:

// 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>

其中其他字段将不包括/显示

因此,我从mvnrespository下载了XMLAPI.jar,以便调用此注释

问题在于,在我的构建路径中包含了xml-api.jar之后,Eclipse仍然在命令下方加上红色下划线,这意味着它不知道该注释:

我做错了什么? 这是一个Web服务,SOAP客户端稍后将使用它

我也不能使用@Transient

谢谢你的帮助

我做错了什么

正如我在评论中所说的,您导入了错误的jar。有两个在线服务可以帮助您查找包含某个类的所有jar,例如(理想情况下,您应该首先参考与该类相关的文档)

使用该服务,您将看到包含
javax.xml.bind.annotation.XmlTransient
的jar大多命名为
jaxb api.jar
,或者名称上有关键字
bind

此外,如果您在导入您认为需要的jar之后仍有问题,您可以使用一些zip查看器(例如7zip)查看jar内部。这样,您应该能够看到xml-api.jar包含文件夹
javax/xml/parsers
javax/xml/transform
,但没有
javax/xml/bind
——因此它一定是错误的文件


顺便说一句,“我从MVnRepository下载了xml-api.jar”,听起来像是在手动处理依赖项。如果是这种情况,我建议研究一下构建工具,如Maven或Gradle。

您确定注释是正确的吗?我主要在jaxb-api.jar或jakarta.xml.bind-api.jar文件中找到它,而且我甚至没有一个javax.xml.bind文件夹,更不用说javax.xml.bind.annotation.XmlTransient了。@Thomas谢谢你可以将其作为答案发布。顺便说一句,我是否使用了正确的注释来实现我的目标?