title: Hibernate 5.2.7 - java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
body: <p>while using Hibernate 5.2.7 in a Gradle Java Project to connect to a MariaDB 10.1.19, I am getting an <code>Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;</code></p>
  
  <p>The complete stacktrace</p>
  
  <pre><code> Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
  at org.hibernate.internal.CacheImpl.&lt;init&gt;(CacheImpl.java:71)
  at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:28)
  at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:20)
  at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:58)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
  at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
  at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:77)
  at org.hibernate.internal.SessionFactoryImpl.&lt;init&gt;(SessionFactoryImpl.java:240)
  at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:445)
  at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710)
  at quantitativeAnalysis.backend.dataCollector.dataCollectorManager.createFactory(dataCollectorManager.java:280)
  at quantitativeAnalysis.volatilityAnalyzer.volatilityDynamicImpl.openInstance(volatilityDynamicImpl.java:18)
  at frontend.MainFrame.main(MainFrame.java:96)
  </code></pre>
  
  <p>I have tried several approaches (other Hibernate Versions <strong>5.2.6</strong> and <strong>5.2.3</strong>) and searched the internet for help, but none of the suggestions worked.</p>
  
  <p>The Exception occur here: </p>
  
  <pre><code>    Configuration configuration = new Configuration().configure();
  
      StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
      try{
          factory = configuration.buildSessionFactory(ssrb.build());
      }catch(Exception ex){
      System.err.println("Failed to configure Sessionfactory");
      ex.printStackTrace();
  }
  </code></pre>
  
  <p>I have also tried the following code leading to the same result:</p>
  
  <pre><code>    final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
      .configure() // configures settings from hibernate.cfg.xml
      .build();
  
  try {
      factory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
      }catch(Exception ex){
      System.err.println("Failed to configure Sessionfactory");
      ex.printStackTrace();
      }
  </code></pre>
  
  <p>My hibernate.cfg.xml looks like this</p>
  
  <p></p>
  
  <pre><code>&lt;session-factory&gt;
  
      &lt;!-- Database connection settings --&gt;
      &lt;!-- &lt;property name="connection.driver_class"&gt;com.mysql.jdbc.Driver&lt;/property&gt; --&gt;
      &lt;property name="connection.driver_class"&gt;com.mysql.cj.jdbc.Driver&lt;/property&gt;        
      &lt;property name="connection.url"&gt;jdbc:mysql://localhost:3307/VolatilityData&lt;/property&gt;
      &lt;property name="connection.username"&gt;XXX&lt;/property&gt;
      &lt;property name="connection.password"&gt;XXX&lt;/property&gt;
      &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5Dialect&lt;/property&gt;
  
  
      &lt;!--  --&gt;
      &lt;property name="hbm2dll.auto"&gt;create&lt;/property&gt;
  
      &lt;!-- mapping content --&gt;
      &lt;mapping resource="resources/BitcoinDaysDestroyed.hbm.xml"/&gt;
      &lt;mapping resource="resources/BitcoinPrice.hbm.xml"/&gt;
      &lt;mapping resource="resources/BitcoinTransactions.hbm.xml"/&gt;
  
  &lt;/session-factory&gt;
  </code></pre>
  
  <p></p>
  
  <p>The jars I include with Gradle are the following:</p>
  
  <pre><code>// Apply the java plugin to add support for Java
  apply plugin: 'java'
  
  // In this section you declare where to find the dependencies of your   project
  repositories {
  // Use jcenter for resolving your dependencies.
  // You can declare any Maven/Ivy/file repository here.
  //jcenter()
  mavenCentral()
  
  maven {
  url "https://maven.elasticsearch.org/releases"
    }
  }
  
  dependencies {
  // The production code uses Guava
  compile 'com.google.guava:guava:20.0'
  
  //QuantitativeAnalysis
  
  // https://mvnrepository.com/artifact/com.toedter/jcalendar
  compile group: 'com.toedter', name: 'jcalendar', version: '1.4'
  
  // https://mvnrepository.com/artifact/javax.persistence/persistence-api
  compile group: 'javax.persistence', name: 'persistence-api', version: '1.0.2'
  
  // https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple
  compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
  
  // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
  compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
  
  // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore
  compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.5'
  
  // https://mvnrepository.com/artifact/org.hibernate/hibernate-core
  //compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.6.Final'
  
  //antlr-2.7.7.jar, compiled from src
  compile files('libs/antlr-2.7.7.jar')
  
  //classmate-1.3.0.jar, compiled from src
  compile files('libs/classmate-1.3.0.jar')
  
  //dom4j-1.6.1.jar, compiled from src
  compile files('libs/dom4j-1.6.1.jar')
  
  //antlr-2.7.7.jar, compiled from src
  compile files('libs/geronimo-jta_1.1_spec-1.1.1.jar')
  
  //jandex-2.0.3.Final.jar, compiled from src
  compile files('libs/jandex-2.0.3.Final.jar')
  
  //javassist-3.20.0-GA.jar, compiled from src
  compile files('libs/javassist-3.20.0-GA.jar')
  
  //jboss-logging-3.3.0.Final.jar, compiled from src
  compile files('libs/jboss-logging-3.3.0.Final.jar')
  
  //hibernate-commons-annotations-5.0.1.Final.jar, compiled from src
  compile files('libs/hibernate-commons-annotations-5.0.1.Final.jar')
  
  //hibernate-jpa-2.1-api-1.0.0.Final.jar, compiled from src
  compile files('libs/hibernate-jpa-2.1-api-1.0.0.Final.jar')
  
  //hibernate-core-5.2.7.Final.jar, compiled from src
  compile files('libs/hibernate-core-5.2.7.Final.jar')
  
  //c3p0-0.9.5.2, compiled from src
  compile files('libs/c3p0-0.9.5.2.jar')
  
  //hibernate-c3p0-5.2.7.Final.jar, compiled from src
  compile files('libs/hibernate-c3p0-5.2.7.Final.jar')
  
  //mchange-commons-java-0.2.11.jar, compiled from src
  compile files('libs/mchange-commons-java-0.2.11.jar')
  
  // https://mvnrepository.com/artifact/mysql/mysql-connector-java
  compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'
  
  //QualitatitveAnalysis
  
  // https://mvnrepository.com/artifact/log4j/log4j
  compile group: 'log4j', name: 'log4j', version: '1.2.17'
  
  // https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch
  compile group: 'org.elasticsearch', name: 'elasticsearch', version: '2.1.0'
  
  // https://mvnrepository.com/artifact/org.elasticsearch.plugin/shield
  compile group: 'org.elasticsearch.plugin', name: 'shield', version: '2.1.0'
  
  // https://mvnrepository.com/artifact/com.google.code.gson/gson
  compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
  
  // https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core
  compile group: 'org.twitter4j', name: 'twitter4j-core', version: '4.0.6'
  
  // https://mvnrepository.com/artifact/javax.json/javax.json-api
  compile group: 'javax.json', name: 'javax.json-api', version: '1.0'
  
  //jReddit Jar, compiled from src
  compile files('libs/jReddit-1.0.4-SNAPSHOT.jar')
  
  // Use JUnit test framework
  testCompile 'junit:junit:4.12'
  }
  </code></pre>
  
  <p>Any help or advice is highly appreciated </p>