Hibernate configuration object is the core and starttime class , initiate it and call its config() method to initial sessionFactory.
Configuration get properties, mapping , etc information through two ways:
1. Config file: hibernate.propeties, system, hibernate.cfg.xml(optional, name changed Configuration.doConfig(*.cfg.xml)).
2. Method: Configuration.addSource, addProperties...
So config files is only a way of configuration to get config info.