需要:接受XML并将数据保存到数据库中。
当前正在使用: JAXB将XML Schema转换为java类。然后,我打算使用JPA来持久化JAXB编组的对象。
问题:我想要一些东西来弥补这一差距。在JAXB生成Java类之后,我必须手动使用@ java.util.Date注释所有的临时字段;我必须将@Entity放在每个生成的class...etc的顶部。
我偶然发现了Hyperjaxb。但是我几乎找不到关于它的文档,并且不能让它工作。
我对完全不同的方法持开放态度。这似乎是一个常见的问题,所以也许有一个通用的解决方案。
发布于 2011-12-19 03:08:50
Hyperjaxb实现了您想要实现的功能。以下是文档:
这是一个帮助你入门的教程:
发布于 2011-12-18 19:20:25
注意:我是的负责人,也是JAXB 2 (JSR-222)专家组的成员。
如果您已经有了一个现有的数据库模式,您可以使用Eclipse中的Dali工具( Web工具项目的一部分)从数据库中生成您的JPA实体:
JAXB是异常配置的,这意味着您只需要在您想要覆盖默认行为的地方添加注释。Dali还提供了一些工具来简化JAXB注释的添加:
JPA实体有时使用双向关系和组合键,这些可能很难映射到XML。JAXB (MOXy)包含一些扩展来简化这一过程(注意,EclipseLink还提供了一个EclipseLink实现):
发布于 2011-12-18 11:45:59
我可以建议两个选项:选项1.单独定义实体类型,使用相关的JPA注释,从模式生成JAXB类型,并在运行时将一个映射到另一个。如果是简单的映射,则可以使用Apache BeanUtils将属性从一个bean复制到另一个bean;如果是更复杂的映射,则可以使用像dozer这样的框架。
选项2:从实体类型开始,从实体类型生成架构,或者手动使实体类型和架构保持同步。更像您所描述的选项,除了权威源是java代码而不是模式。
https://stackoverflow.com/questions/8549017
复制相似问题