加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

验证javax绑定注释而不是模式

发布时间:2020-12-15 02:21:25 所属栏目:Java 来源:网络整理
导读:使用最新的JAXB Sun实现,但可以依靠XJC生成正确的注释.有几个例子,XJC没有附加 XMLElement或 XMLAttribute注释,没有逻辑上的原因.另外还有插件框架背后的逻辑问题.无论如何,我想放弃编写模式只是为了生成POJO,然后必须加载模式只是为了验证. 任何人都有办法
使用最新的JAXB Sun实现,但可以依靠XJC生成正确的注释.有几个例子,XJC没有附加 XMLElement或 XMLAttribute注释,没有逻辑上的原因.另外还有插件框架背后的逻辑问题.无论如何,我想放弃编写模式只是为了生成POJO,然后必须加载模式只是为了验证.

任何人都有办法直接验证Javax绑定注释?看到一个很酷的解决方法:
how can i unmarshall in jaxb and enjoy the schema validation without using an explicit schema file

动态创建模式只是为了进行验证.寻找一种直接针对注释的方法(如Hibernate Validator和JSR 303,但专门针对Javax绑定注释)?

解决方法

没有任何标准验证可以针对JAXB注释完成.事实上,大多数情况下这是因为对象模型的类型性质减少了可能出现的无效输入的数量(例如,如果我的customer元素具有子地址元素,那么我的Customer对象具有Address属性,并且您可以’ t设置该属性上的Address对象以外的任何内容).

您可能希望验证的是将集合限制为某个数字元素(因为您有maxOccurs =“10”),或者将字符串限制为特定长度(因为您有一个模式构面). JAXB 2.X(JSR 222)默认情况下不会在对象模型上生成这些内容(尽管您可以自己添加它们,就像人们在使用JPA时一样),使用JSR 303并运行验证程序.

与您的问题相关的其他要点:

>如果您遇到问题
请考虑XJC工具
记录错误:

> https://jaxb.dev.java.net/issues/

>如果没有注释那么默认是@XmlElement,所以有些这些注释可能会丢失为此原因.注释是通常只添加调整名称或名称空间信息.>使用JAXB(就像JPA一样),你可以从POJO开始. JAXB注释可以添加以自定义XML表示.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读