【发布时间】:2015-06-18 09:32:00
【问题描述】:
我正在处理一个使用 hibernate 的项目,并在 java 类(名为 DoahibernateUtil)而不是 xml 文件中设置了 hibernate 的属性,如方言,我想知道为什么程序员没有使用 xml 文件? 我的第二个问题是,为什么在hibernate文件夹中既没有将数据库表映射到程序的xml文件,这一行是将表映射到程序而不是那个xml文件?
AnnotationConfiguration cfg = new AnnotationConfiguration()
.addAnnotatedClass(mehad.entities.LogTable.class)
【问题讨论】:
-
考虑一次您需要更新属性的可能性。如果在 .java 类中,则需要重新编译、重新发布、重新部署……如果在 .xml 文件中,则只需更改 .xml 并重新启动服务器。跨度>
-
XML 很痛苦,从重构的角度来看,大量 xml 的项目往往更脆弱。看起来您的程序员/项目正在使用基于注释的配置,这在我能想到的任何情况下都比 xml 更可取。当配置与它相关的代码一起存在时,这是一件好事。
-
@aroth 您对 Stultuske 的想法有何看法?更新属性怎么样?
-
更多地同意@Stultuske:如果您有一些应用程序的软配置,您可以重新解析 configuration.xml 以加载新的配置会话或应用程序明智。你不需要重新启动:)
-
@shakiba - 当我构建一个 Java 项目时,最终结果/可部署是单个 WAR 文件。所以仍然需要重新构建,即使是对 xml 文件的更改(如果您正在进行适当的部署管理,无论如何)。是的,您可以通过进入服务器的部署文件夹并编辑/替换 xml 文件然后重新启动服务器/重新解析 xml 来进行临时更改,但我认为这样做几乎没有什么好处。理想情况下,无论如何您都应该有一个“一键式”(或一键式)构建/部署过程,此时编译 Java 可能比手动移动文件要快。
标签: java xml hibernate annotations