gpt4 book ai didi

java - 我可以将 jaxb 与 hibernate hbm2ddl 一起使用吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:06 24 4
gpt4 key购买 nike

我正在使用 jaxb 从 xsd 文件自动生成 java 类。我将需要保留将存储在将从类实例化的对象中的数据。 有没有什么方法可以在 JAXB 自动生成的相同类中自动生成 hibernate 代码?

我在开发过程中需要多次重新生成类。如果我必须手动编写 hibernate 代码,我能想到的唯一合理方法是使用 hibernate 编写单独的类以实现持久性,并编写连接器类将自动生成的类迁移到持久性类中。否则,每次我根据 xsd 文件的微调重新运行 jaxb 时,我手写的 hibernate 代码都会被覆盖。如果 hibernate 代码也自动生成,我最终可能会使用更少的类。

最佳答案

Hyperjaxb3是要走的路。它是一个包含在构建过​​程中的 JAXB 插件。当你通过xjc运行你的xsd文件时,你不仅会在生成的类上得到xml相关的注解,你还会得到JPA注解。几乎不需要编写任何代码,您就可以获取 XML 文档,将其保存到数据库中,从数据库中查询文档并取回 XML 文本。生成的代码可以在 xsd 文件或关联的绑定(bind)文件中自定义(就像 vanilla xjc)。我们还在生成的类上使用 hbm2ddl 来配置 hibernate 。

过去几年,我们一直在多个模式中积极使用它。

当您编辑 XML 架构/绑定(bind)(以及您的数据库架构)时,您将必须手动编写 SQL 迁移脚本来升级任何现有数据库。似乎大多数 DBMS 都有一个可以在这里使用的模式比较工具。我们会在每次构建时自动将新创建的模式与迁移的(从基线)模式进行比较。

关于java - 我可以将 jaxb 与 hibernate hbm2ddl 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com