title: Why hbm2ddl.auto 'update' property is not working or how does it works?
body: <p>I am new to Hibernate, As per my knowledge, when hbm2ddl.auto is set to 'update', it should create a table if its doesn't exist, it should create a new column automatically if the new 'property' tag for column is added in mapping file. Right? 
  But whenever i am trying to run my class, it is throwing "Table or view doesn't exist" instead of creating it. I am using hibernate v5.10</p>
  
  <p>Here's my POC example i am trying to run. Thanks in advance.</p>
  
  <h2>Mapping file</h2>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"&gt;
  &lt;hibernate-mapping&gt;
    &lt;class name="com.nt.domain.Customer" table="CUSTOMER"&gt;
     &lt;id name="custNo" length="10" type="int" column="CUSTNO"/&gt;           
     &lt;property name="customerName" length="20" type="string" column="CUSTNAME"/&gt;
     &lt;property name="billAmt" length="10" type="int" column="BILLAMT"/&gt;
    &lt;/class&gt;
  &lt;/hibernate-mapping&gt;
  </code></pre>
  
  <h2>Configuration</h2>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE hibernate-configuration PUBLIC
  "-// Hibernate/ Hibernate Configuration DTD 3.0 //EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"&gt;
  
  &lt;hibernate-configuration&gt;
  &lt;session-factory&gt;
      &lt;property name="connection.driver_class"&gt;oracle.jdbc.driver.OracleDriver&lt;/property&gt;
      &lt;property name="connection.url"&gt;jdbc:oracle:thin:@localhost:1521:sys&lt;/property&gt;
      &lt;property name="connection.username"&gt;Asif123&lt;/property&gt;
      &lt;property name="connection.password"&gt;Asif123&lt;/property&gt;     
      &lt;property name="show_sql"&gt;true&lt;/property&gt;
      &lt;property name="format_sql"&gt;true&lt;/property&gt;
      &lt;property name="use_sql_comments"&gt;true&lt;/property&gt;
      &lt;property name="dialect"&gt;org.hibernate.dialect.Oracle12cDialect&lt;/property&gt;
      &lt;property name="hbm2ddl.auto"&gt;update&lt;/property&gt;
      &lt;mapping resource="com/nt/domain/customer.hbm.xml"/&gt;
  &lt;/session-factory&gt;
  </code></pre>
  
  <p> </p>
  
  <h2>Main</h2>
  
  <pre><code>package com.nt.test;
  
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.Transaction;
  import org.hibernate.cfg.Configuration;
  
  import com.nt.domain.Customer;
  
  public class UpdateTest {
    public static void main(String[] args) {
      Configuration cfg = new Configuration().configure();
      SessionFactory factory = cfg.buildSessionFactory();
      Session ses= factory.openSession();
      Transaction tx= ses.beginTransaction();
  
      Customer customer = new Customer();
      customer.setCustNo(101);
      customer.setCustomerName("Asif");
      customer.setBillAmt(1245);
  
  
      ses.save(customer);     
      tx.commit();
  
      ses.close();
      factory.close();
    }
  }
  </code></pre>
  
  <h2>Customer</h2>
  
  <pre><code>package com.nt.domain;
  
  public class Customer {
    int custNo;
    String customerName;
    int billAmt;
  
  //All getters and setters
  
  } 
  </code></pre>
  
  <h2>Exception</h2>
  
  <pre><code>Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
  
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
  ....
  </code></pre>