title: Hibernate and MySQL configuration
body: <p>I have spent a few hours trying to set up my first Hibernate application and it still doesn't work.</p>
  
  <p>I have WAMP Server with my MySQL Data Base called "hibernatetest". I have Project in Eclipse, which contains Hibernate library, and mysql-connector-java-5.1.18-bin.jar. I have also this classes:</p>
  
  <p>HibernateUtil.java:</p>
  
  <pre><code>import org.hibernate.SessionFactory;
  import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
  import org.hibernate.cfg.Configuration;
  
  public class HibernateUtil {
  
      private static final SessionFactory sessionFactory = buildSessionFactory();
  
      private static SessionFactory buildSessionFactory() {
          try {
              // Create the SessionFactory from hibernate.cfg.xml
              return new Configuration().configure().buildSessionFactory(
                  new StandardServiceRegistryBuilder().build() );
          }
          catch (Throwable ex) {
              // Make sure you log the exception, as it might be swallowed
              System.err.println("Initial SessionFactory creation failed." + ex);
              throw new ExceptionInInitializerError(ex);
          }
      }
  
      public static SessionFactory getSessionFactory() {
          return sessionFactory;
      }
  
  }
  </code></pre>
  
  <p>test.java (contains main):</p>
  
  <pre><code>import org.hibernate.Session;
  
  import templates.Album;
  
  public class test {
      public static void main(String[] args){
          Album i = new Album();
          i.setID(1);
          i.setArtist("Iron Maiden");
          i.setTitle("The Book of Souls");
          i.setLabel("Warner Music");
  
          Session session = HibernateUtil.getSessionFactory().getCurrentSession();
          session.beginTransaction();
  
          session.save(i);
  
          session.getTransaction().commit();
          session.close();
          System.out.println("Saved");
      }
  }
  </code></pre>
  
  <p>Album.java:</p>
  
  <pre><code>package templates;
  
  public class Album {
      private int ID;
      private String title;
      private String artist;
      private String label;
  
      public Album(){
  
      }
  
      public int getID() {
          return ID;
      }
  
      public void setID(int iD) {
          ID = iD;
      }
  
      public String getTitle() {
          return title;
      }
  
      public void setTitle(String title) {
          this.title = title;
      }
  
      public String getArtist() {
          return artist;
      }
  
      public void setArtist(String artist) {
          this.artist = artist;
      }
  
      public String getLabel() {
          return label;
      }
  
      public void setLabel(String label) {
          this.label = label;
      }
  
  }
  </code></pre>
  
  <p>Album.hbm.xml: <a href="http://pastebin.com/n5b9wWxs" rel="nofollow">link</a></p>
  
  <p>Hibernate.cfg.xml: <a href="http://pastebin.com/0wjW6QQw" rel="nofollow">link</a></p>
  
  <p>StackTrace:</p>
  
  <pre><code>wrz 15, 2015 10:04:47 PM org.hibernate.Version logVersion
  INFO: HHH000412: Hibernate Core {5.0.1.Final}
  wrz 15, 2015 10:04:47 PM org.hibernate.cfg.Environment &lt;clinit&gt;
  INFO: HHH000206: hibernate.properties not found
  wrz 15, 2015 10:04:47 PM org.hibernate.cfg.Environment buildBytecodeProvider
  INFO: HHH000021: Bytecode provider name : javassist
  wrz 15, 2015 10:04:47 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity
  WARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-configuration. Use namespace http://www.hibernate.org/dtd/hibernate-configuration instead.  Support for obsolete DTD/XSD namespaces may be removed at any time.
  wrz 15, 2015 10:04:48 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager &lt;clinit&gt;
  INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final}
  wrz 15, 2015 10:04:49 PM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService
  WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections
  wrz 15, 2015 10:04:49 PM org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService
  WARN: HHH000342: Could not obtain connection to query metadata : The application must supply JDBC connections
  Initial SessionFactory creation failed.org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
  Exception in thread "main" java.lang.ExceptionInInitializerError
      at HibernateUtil.buildSessionFactory(HibernateUtil.java:18)
      at HibernateUtil.&lt;clinit&gt;(HibernateUtil.java:7)
      at test.main(test.java:13)
  Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244)
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208)
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
      at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
      at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217)
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
      at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
      at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
      at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
      at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
      at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
      at HibernateUtil.buildSessionFactory(HibernateUtil.java:12)
      ... 2 more
  Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
      at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
      at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
      at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137)
      at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
      at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
      at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234)
      ... 15 more
  </code></pre>
  
  <p>What am I doing wrong?</p>