title: org.hibernate.tool.hbm2ddl.SchemaExport - schema export unsuccessful
body: <p>I am practicing from java2s.com for Entity Listeners Pre-Persists.I googled and also searched here and didn't find exact solution for this problem.please help me.
  Thanks in advance.</p>
  
  <h2>Here is full error stacktrace.</h2>
  
  <pre><code>1 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA
  14 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1
  17 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
  20 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
  25 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
  97 [main] INFO org.hibernate.ejb.Version - Hibernate EntityManager 3.4.0.GA
  2898 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: com.santosh.hibernate.JPA_EntityListenersPrePersist.Employee
  2936 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity com.santosh.hibernate.JPA_EntityListenersPrePersist.Employee on table Employee
  2985 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
  3024 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
  3110 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
  3110 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
  3110 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: true
  3128 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3309/jpaservice
  3128 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
  4337 [main] WARN org.hibernate.cfg.SettingsFactory - Could not obtain connection metadata
  com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2209)
      at com.mysql.jdbc.ConnectionImpl.&lt;init&gt;(ConnectionImpl.java:776)
      at com.mysql.jdbc.JDBC4Connection.&lt;init&gt;(JDBC4Connection.java:46)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
      at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
      at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
      at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
      at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
      at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110)
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
      at com.santosh.hibernate.JPA_EntityListenersPrePersist.Main.&lt;clinit&gt;(Main.java:8)
  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:343)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2132)
      ... 21 more
  Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:292)
      ... 22 more
  4354 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect
  4358 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
  4359 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
  4359 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
  4359 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
  4360 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: disabled
  4360 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): disabled
  4360 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
  4361 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
  4363 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: enabled
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
  4363 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
  4368 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
  4369 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
  4369 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
  4369 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
  4415 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
  4581 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
  4588 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export
  4588 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport - exporting generated schema to database
  5591 [main] ERROR org.hibernate.tool.hbm2ddl.SchemaExport - schema export unsuccessful
  com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2209)
      at com.mysql.jdbc.ConnectionImpl.&lt;init&gt;(ConnectionImpl.java:776)
      at com.mysql.jdbc.JDBC4Connection.&lt;init&gt;(JDBC4Connection.java:46)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
      at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
      at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252)
      at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211)
      at org.hibernate.impl.SessionFactoryImpl.&lt;init&gt;(SessionFactoryImpl.java:343)
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
      at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
      at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
      at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110)
      at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
      at com.santosh.hibernate.JPA_EntityListenersPrePersist.Main.&lt;clinit&gt;(Main.java:8)
  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:343)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2132)
      ... 23 more
  Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:292)
      ... 24 more
  6636 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 08S01
  6636 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
  Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Cannot open connection
      at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
      at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:41)
      at com.santosh.hibernate.JPA_EntityListenersPrePersist.Main.main(Main.java:13)
  Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open connection
      at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
      at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
      at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
      at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
      at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
      at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:38)
      ... 1 more
  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2209)
      at com.mysql.jdbc.ConnectionImpl.&lt;init&gt;(ConnectionImpl.java:776)
      at com.mysql.jdbc.JDBC4Connection.&lt;init&gt;(JDBC4Connection.java:46)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
      ... 6 more
  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
  
  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
      at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:343)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2132)
      ... 19 more
  Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at java.net.Socket.&lt;init&gt;(Unknown Source)
      at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
      at com.mysql.jdbc.MysqlIO.&lt;init&gt;(MysqlIO.java:292)
      ... 20 more
  </code></pre>
  
  <h2>This is my persistence.xml</h2>
  
  <pre><code>&lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" 
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"&gt;
      &lt;persistence-unit name="JPAService" transaction-type="RESOURCE_LOCAL"&gt;
          &lt;properties&gt;
              &lt;property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/&gt;
              &lt;property name="hibernate.hbm2ddl.auto" value="create"/&gt;
              &lt;property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/&gt;
              &lt;property name="hibernate.connection.username" value="root"/&gt;
              &lt;property name="hibernate.connection.password" value="password"/&gt;
              &lt;property name="hibernate.connection.url" value="jdbc:mysql://localhost:3309/jpaservice"/&gt;
          &lt;/properties&gt;
      &lt;/persistence-unit&gt;
  &lt;/persistence&gt;
  </code></pre>
  
  <h2>This is my Helper.java</h2>
  
  <pre><code>package com.santosh.hibernate.JPA_EntityListenersPrePersist;
  
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.sql.ResultSetMetaData;
  import java.sql.Statement;
  
  public class Helper {
    public static void checkData() throws Exception {
      Class.forName("com.mysql.jdbc.Driver");
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3309/jpaservice", "root", "password");
      Statement st = conn.createStatement();
  
      ResultSet mrs = conn.getMetaData().getTables(null, null, null, new String[] { "TABLE" });
      while (mrs.next()) {
        String tableName = mrs.getString(3);
        System.out.println("\n\n\n\nTable Name: "+ tableName);
  
        ResultSet rs = st.executeQuery("select * from " + tableName);
        ResultSetMetaData metadata = rs.getMetaData();
        while (rs.next()) {
          System.out.println(" Row:");
          for (int i = 0; i &lt; metadata.getColumnCount(); i++) {
            System.out.println("    Column Name: "+ metadata.getColumnLabel(i + 1)+ ",  ");
            System.out.println("    Column Type: "+ metadata.getColumnTypeName(i + 1)+ ":  ");
            Object value = rs.getObject(i + 1);
            System.out.println("    Column Value: "+value+"\n");
          }
        }
      }
    }
  }
  </code></pre>