首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持久化技术无关的Java模型: JAXB与eCore

持久化技术无关的Java模型: JAXB与eCore
EN

Stack Overflow用户
提问于 2014-08-13 14:01:00
回答 1查看 419关注 0票数 2

问题

考虑到特定于技术的Java Model T,我希望拥有:

  • 在我的代码中使用的与技术无关的模型A(即MVC中的M)。
  • 存储我的模型A的持久性机制P。

方法

目前,我已经想出了一些选择:

选项1:

  • 手动创建A的类
  • 手动创建代码以将T转换为A
  • 手动创建第三个JAXB-型号J的XSD
  • 从J生成JAXB-模型类
  • 手动创建将A转换为J的代码
  • 使用JAXB自动保存J
  • 在加载时,所有翻译都必须手动创建到另一个方向。
  • 优势:看不到一个。这是我的问题:)
  • Disadvantage:所有选项中最重要的开发工作。

备选方案2:

  • 手动创建JAXB的XSD -A的模型
  • 为A生成JAXB-模型类
  • 手动创建代码以将T转换为A
  • 使用JAXB自动保存A
  • 加载时,必须手动将翻译创建到另一个方向。
  • 优势:开发力度低。A可以直接持久化。
  • Disadvantage:我读到,使用JAXB类作为modell是个坏主意。但我不明白为什么。

选项3:

  • 手工创建A的模型作为eCore-模型
  • 从ecore-模型生成A类
  • 手动创建代码以将T转换为A
  • 使用eCore-资源自动保存A
  • 加载时,必须手动将翻译创建到另一个方向。
  • 优势:开发力度低。A可以直接持久化。
  • 没有Disadvantage:

从优点和缺点来看,我似乎应该明确地使用eCore而不是JAXB。

问题

  • 使用eCore真的那么清楚吗?或者,我是否也应该考虑一些有利/不利因素?
  • 这里有一种更简单的方法,可以将特定于技术的模型T转换为与技术无关的modell A。目前,我必须实现A和翻译A <-> T自己。更简单的方法会更好。
EN

回答 1

Stack Overflow用户

发布于 2014-08-13 14:28:02

您可以使用JAXB将您的模型A转换为XML。这将利用JAXB的Java第一个方面,而不是在您的问题中首先使用模式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25288226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档