Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate配置文件,包括介绍XML文件格式等方面。
有两种Hibernate配置文件格式,一种是XML,默认为Hibernate.cfg.xml,一种是properties,默认为Hibernate.properties不同的配置文件,对Hibernate的初始化方法是不一样的。
比如,如果采用properties文件作为Hibernate配置文件
那么初始化的代码大致为
- Configuration config = new Configuration();
- config.addClass(myclass.class);
如果Hibernate配置文件为XML,则
- Configuration config = new Configuration().config();
XML文件格式的配置文件不支持addClass方法!!!这是因为在Hibernate配置文件XML文件中,已经定义了Mpaaing文件,因此就不需要在用编码方式导入POJO文件了。
另:网上好多文章,甚至有的书都说,Hibernate的配置文件必须放在class的根目录,参考一下API,发现这个说法是不正确的,例如 Configuration config = new Configuration()。config(配置文件名);完全可以的。
所有config方法如下:
- addCacheableFile(File xmlFile)If a cached xmlFile + ".bin"
exists and is newer than xmlFile the ".bin" file will be read directly.- Configuration addClass(Class persistentClass)
Read a mapping from an application resource, using a convention.- Configuration addDirectory(File dir)
Read all mapping documents from a directory tree.- Configuration addDocument(org.w3c.dom.Document doc)
Read mappings from a DOM Document- Configuration addFile(File xmlFile) Read mappings from a particular XML file
- Configuration addFile(String xmlFile) Read mappings from a particular XML file
- void addFilterDefinition(FilterDefinition definition)
- Configuration addInputStream(InputStream xmlInputStream)
Read mappings from an InputStream- Configuration addJar(File jar) Read all mappings from a jar file
- Configuration addProperties(Properties extraProperties) Set the given properties
- Configuration addResource(String path)
Read mappings from an application resource trying different classloaders.- Configuration addResource(String path, ClassLoader classLoader)
Read mappings from an application resource- Configuration addURL(URL url) Read mappings from a URL
- Configuration addXML(String xml) Read mappings from a String
【编辑推荐】