Hibernate 的配置

来源:互联网 发布:云计算和分布式计算 编辑:程序博客网 时间:2024/06/07 14:35

初学 Hibnerate,虽然写了几个程序,但有时觉得其配置很魔幻。尤其是和 Spring 一块用的时候,好像不用 XML 也可以,直接用 Properties 文件就可以了,看上去十分诡异。

仔细做了对比,才明白其中的规则。

  1. XML 优先
    对于 Hibernate 而言, 同样在 ClassPath 下, hibernate.cfg.xml 要优于 hibernate.properties

  2. XML 可以不要
    XML 只对 org.hibernate.cfg.Configuration 中的 configure() 函数 起作用,如果在 Configuration cfg = new Configuration() 之后,不调用 cfg.configure(),则实际上不用调用 xml 文件的。

  3. 不用 XML 则要求使用注解 – 最新的 Hibernate 都使用注解 - 但是要在 Configuration 中使用 cfg.addAnnotatedClass(clazz) 把用 Annotation 注解的类都加上,否则还是用报 Unknown Entity 的错误的。

  4. 如果使用了 spring-orm 则,spring 会自动处理注解,初始化 hibernate,我们只是提供 hibernate.properties 文件就可以了

结论:

  • 如果不用 Spring ,则使用注解 + cfg.addAnnotatedClass() + properties 文件就能满足要求了,不用 XML 了。
  • 如果用 Spring,则直接用 注解 + properties 文件。
0 0