最终取决于你想要关注的重点:
如果XML Schema是最重要的
那么最好从XML schema开始生成一个JAXB模型。有些XML schema的细节,JAXB (JSR-222)实现无法生成:
如果对象模型是最重要的
如果你将使用Java模型进行更多操作而不仅仅是在对象和XML之间转换(例如与JPA一起使用进行持久化),那么我建议从Java对象开始。这将给你最大的控制权。
这取决于您的需求和场景,尤其是起始点。
根据您的要求,使用从XSD生成Java文件
,因为您想首先定义Java支持的输出(XML)格式。
考虑到 XML 的主要优点之一是作为可移植的数据传输格式,无论平台或语言都可以使用,因此我建议避免从任何特定编程语言生成 XSD。这是一个经验法则。如果您知道只在 Java 端点之间通信,则可能并不重要(但您确定这将永远成立吗?)。
所有其他条件相等的情况下,最好以编程语言中立的方式定义接口/模式。
当然,有很多例外情况,特别是如果您正在集成现有或遗留代码...