A bit confusing are the 'driverclassname' and 'hibernate.dialect' referring to the mysql driver?
No, it is not. driverclassname refers to the name of the driver class, which is the class from this JDBC driver that implements java.sql.Driver . The driver class name is driver specific.
When using the MySQL JDBC driver aka MySQL Connector / J, this class is com.mysql.jdbc.Driver , as described in the MySQL Connector / J documentation:
The name of the class that implements java.sql.Driver in the MySQL Connector / J com.mysql.jdbc.Driver . (...)
And in fact, they even provide instructions for using their driver with Spring . See Section 20.3.5.2.4. Using Connector / J with Spring .
hibernate.dialect is different, this configuration property is used to determine the name of the Hibernate class org.hibernate.dialect.Dialect , which allows Hibernate to generate SQL optimized for a particular relational database. Again, this is explained in the Hibernate documentation:
(...) The name of the hibernate class class is org.hibernate.dialect.Dialect , which allows Hibernate to generate SQL optimized for a particular relational database.
e.g. full.classname.of.Dialect
In most cases, Hibernate will be able to select the correct org.hibernate.dialect.Dialect JDBC-based implementation metadata returned by the JDBC driver.
For MySQL 5.x, you should use org.hibernate.dialect.MySQL5InnoDBDialect if you are using InnoDB tables (that would be my recommendation) or org.hibernate.dialect.MySQL5Dialect if you havenβt. See Section 3.4.1. SQL Dialects for a (non-exhaustive) list.
The last point, the Maven part that you did not even mention in your question ... The MySQL JDBC driver is available in the central Maven repository, and you should use the engine storage search (as I already suggested ). For example, the following query:
http://www.jarvana.com/jarvana/search?search_type=project&project=mysql
allows you to find the maven coordinates of the final version in two clicks:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.13</version> </dependency>
PS: I do not want to be rude, and I am happy to help, but you really should try to use the documentation about the products or frameworks that you use. What you ask in this question is well documented (as I showed) and it can be easily found. Learning how to find basic information on your own is a fundamental skill for a software developer, in my opinion.