在 xml 文件而不是 java class 文件中设置属性有什么好处吗?

Is there any benefit in setting properties in an xml file rather than a java class?

我正在处理一个使用休眠的项目,并在 java class(名为 DoahibernateUtil)而不是 xml 文件中设置了类似方言的休眠属性,我想知道为什么程序员没有使用 xml 文件? 我的第二个问题是,为什么在 hibernate 文件夹中既没有 xml 文件来将数据库 table 映射到程序,这一行是否将 Table 映射到程序那个 xml 文件?

AnnotationConfiguration cfg = new AnnotationConfiguration()
    .addAnnotatedClass(mehad.entities.LogTable.class)

xml 的优点:

  • 无需重建应用程序即可更改映射
  • 您的实体源代码是干净的,无需明确依赖于 Hibernate

注释的优点:

  • 映射更易读
  • 映射随代码一起,所以更容易维护

另一个因素是更改配置文件比更改 Java 源代码更安全。可能有些人您信任 fiddle 使用配置文件但不信任 fiddle 使用源代码。