Providing a hibernate configuration using the properties file
This is another way to configure hibernate; here, we will create a file with the .properties
extension. Usually called hibernate.properties
, this file is a replacement for hibernate.cfg.xml
. You can use any approach (either cfg.xml
or the properties file). However, the properties file is better for startup, and it is the easiest approach to get started quickly.
This is a simpler representation of an XML file. Hibernate searches for the XML file or the properties file at startup to find the configuration in your classpath. We can use any one of these options. You can use both of them at the same time, but this is uncommon because hibernate gives priority to the XML file over properties; the properties file is simply ignored in such cases.
Note
The properties file looks similar to a normal text file, but the content should be in a key/value pair, which is Key=Value
.
Here is an example: hibernate.connection.driver_class=com.mysql.jdbc.Driver
.
How to do it…
Now, we will create a file called hibernate.properties
in our classpath and write the following properties in the file. The following code represents hibernate.cfg.xml
in the hibernate.properties
file:
… hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost:3306/kode12 hibernate.connection.username=root hibernate.connection.password=root show_sql=true hbm2ddl.auto=update …
How it works…
When we create an instance of the Configuration
class, it will look for hibernate.cfg.xml
or hibernate.properties
in our classpath. If we use a .properties
file, it'll get all of the property defined in the file, rather than create a Configuration
object.
Note
The difference between an XML and properties file is that, in an XML file, you can directly map classes using the <Mapping>
tag, but there is no way to configure it in a properties file. So, you can use this methodology when you use a programmatic configuration.