如何在Hibernate Java obj中添加@XmlTransient
问题描述
我有一个由Hibernate生成的Java bean:
我想在XML SOAP Request中设置某些字段@XmlTransient,以便用户不必像这样填写它们:
// 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中,我希望它看起来像
将不包括/看不到其他字段的地方。
所以我从mvnrespository下载了xml-apis.jar,因此可以调用此注释。
问题是在将xml-apis.jar包含在我的BuildPath中之后,Eclipse仍然用红色强调该命令,表示它不知道该注释:
我做错了什么?这是一个Web服务,稍后将由SOAP客户端使用。
我也不能使用@ Transient
感谢您的帮助。
思路:
我在做什么错?
正如我在评论中已经指出的,您导入的是错误的jar。有一些在线服务可以帮助您找到所有包含特定类别的罐子,例如http://findjar.com(最好先参考与该类有关的文档)。
使用该服务,您会看到包含javax.xml.bind.annotation.XmlTransient
的罐子大多被命名为jaxb-api.jar
或在其名称上带有关键字bind
:https://www.findjar.com/class/javax/xml/bind/annotation/XmlTransient.html
另外,如果即使导入了您认为需要的jar时仍然遇到问题,您可以使用一些zip查看器(例如7zip)在该jar中窥视。这样,您应该可以看到xml-apis.jar包含文件夹javax/xml/parsers
和javax/xml/transform
,但没有javax/xml/bind
-因此它必须是错误的文件。
顺便说一句,“我从mvnrespository下载了xml-apis.jar”听起来像是您正在手动处理依赖关系。如果是这种情况,我建议您看一下Maven或Gradle之类的构建工具。