调用new Configuraction()时,Hibernate在classpath的根目录下搜索名为hibernate.properties的文件。如果找到了,所有hibernate.*属性都会被加载并添加到Configuration对象。
调用configure()时,Hibernate在classpath的根目录下搜索名为hibernate.cfg.xml的文件,如果无法找到会抛出一个异常。当然,如果你没有这个配置文件,就不一定要调用这个方法。如果XML配置文件中的设置与较早设置的属性完全相同,XML设置就覆盖前面的设置。
hibernate.properties配置文件的位置始终在classpath的根目录中,处在任何包之外。如果要使用一个不同的文件,或者要Hibernate在classpath的子目录中查找XML配置文件,就必须把路径当作configure()方法的一个实参进行传递:
SessionFactory sessionFactory = new Configuration()
.configure("auction.cfg.xml").buildSessionFactory();