初学 Hibnerate,虽然写了几个程序,但有时觉得其配置很魔幻。尤其是和 Spring 一块用的时候,好像不用 XML 也可以,直接用 Properties 文件就可以了,看上去十分诡异。
仔细做了对比,才明白其中的规则。
XML 优先 对于 Hibernate 而言, 同样在 ClassPath 下, hibernate.cfg.xml 要优于 hibernate.properties
XML 可以不要 XML 只对 org.hibernate.cfg.Configuration 中的 configure() 函数 起作用,如果在 Configuration cfg = new Configuration() 之后,不调用 cfg.configure(),则实际上不用调用 xml 文件的。
不用 XML 则要求使用注解 – 最新的 Hibernate 都使用注解 - 但是要在 Configuration 中使用 cfg.addAnnotatedClass(clazz) 把用 Annotation 注解的类都加上,否则还是用报 Unknown Entity 的错误的。
如果使用了 spring-orm 则,spring 会自动处理注解,初始化 hibernate,我们只是提供 hibernate.properties 文件就可以了
结论:
如果不用 Spring ,则使用注解 + cfg.addAnnotatedClass() + properties 文件就能满足要求了,不用 XML 了。如果用 Spring,则直接用 注解 + properties 文件。
转载请注明原文地址: https://ju.6miu.com/read-1295870.html