为什么“xsd:date”是映射的 XML 模式类型“javax.xml.datatype.XMLGregorianCalendar”当 JAXB 的架构到 Java 映射执行时

发布于 2024-10-08 18:35:58 字数 362 浏览 6 评论 0原文

我不知道为什么 XML 模式类型的“xsd:date”会映射“javax.xml.datatype.XMLGregorianCalendar”,而 JAXB 的模式到 Java 映射会映射“javax.xml.datatype.XMLGregorianCalendar”。

为什么 XML 模式类型的“xsd:date”映射“java.util.Date”?

我猜想 JAXB 是有意进行映射的。 我想知道这个原因(如果有的话)。

如果存在,如何将 XML 模式类型的“xsd:date”更改为 Java 类的“java.util.Date”而不使用注释(例如@XmlJavaTypeAdapter)。

我想在没有所有注释的情况下进行编组和解组。

I don't know why does "xsd:date" of XML Schema Type mapped "javax.xml.datatype.XMLGregorianCalendar" When Schema-to-Java Mapping of JAXB does.

Why does "xsd:date" of XML Schema Type mapped "java.util.Date" ?

I guess that JAXB intentionally does its mapping.
I want to know that reason if any.

And if exists it, how to change "xsd:date" of XML Schema Type to "java.util.Date" of Java class without using annotation(ex.@XmlJavaTypeAdapter).

I want to do mashalling and unmarshalling without all annotations.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

逆蝶 2024-10-15 18:35:58

从 Java 类开始时,您可以使用任何“日期”数据类型。当从 XML 模式启动时,将生成 XMLGregorianCalendar,因为它保留了所有时间信息(包括时区)。当然,您始终可以修改生成的对象或注释模式以生成不同的类型。

有关更多信息:

When starting from Java classes you can use any "date" datatype. When starting from XML schema will generate XMLGregorianCalendar because it preserves all the temporal information (including time zone). Of course you can always modify the generated objects or annotate the schema to generate different types.

For more information:

潜移默化 2024-10-15 18:35:58

原因有几个

  1. java.util.Date 不处理 TimeZone 的
  2. ,因此它可以处理内置 Calendar 类无法处理的 ISO 8601 日期时间格式。例如,月份为 1-12,但日历/日期为 0-12。有时,在查询时,您可能希望将第一个月设为 1 而不是 0。

Couple of reasons

  1. java.util.Date doesn't handle TimeZone's
  2. So that it can handle ISO 8601 date-time format which can't be handled by built-in Calendar class. For e.g the months are from 1-12 but in Calendar/Date 0-12. Sometimes when querying you might want to get the first month as 1 and not 0.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文