Hibernate配置文件

时间:2015-08-19 02:34:49

标签: java hibernate

假设我有以下代码。

private static String configFile = null;


   File cf = new File(configFile);
   Configuration c = new Configuration();
    if (cf.exists() && cf.isFile()) {
            c.configure(cf);
        } else {
            c.configure(configFile);
    }

我想知道c.configure(cf)c.configure(configFile)之间有什么区别。在我的代码中,configFile被称为资源,cf是configFile对象。

我从这里找到了这两个(api)。

public Configuration configure(String resource)
                        throws HibernateException

public Configuration configure(File configFile)
                        throws HibernateException

1 个答案:

答案 0 :(得分:0)

API的文档没有明确说明,是吗?

在受到厌倦之前,我一直跟踪这个课程:

https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/boot/cfgxml/internal/ConfigLoader.java

但是看起来在configure(String资源)的情况下,它是一个资源的名称,因为它将被传递给Java类加载器以将资源作为流来获取,即:

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)

然而,配置(File configFile),它使用FileInputStream。

在任何一种情况下,Hibernate仍然期望配置使用相同的XML格式。