title: java.sql.SQLSyntaxErrorException: Unknown column in 'field list'
body: <p>I am trying to work on a OneToMany relation using Hibernate. I am using @Temporal annotation to tell hibernate about the Data field. I am not sure why am I getting this error here. Looks like there is a problem with the Date format. Please let me know how to solve it.</p>
  
  <p><strong>Customer</strong></p>
  
  <pre><code>package regular;
  
  import java.util.List;
  
  import javax.persistence.CascadeType;
  import javax.persistence.Entity;
  import javax.persistence.FetchType;
  import javax.persistence.GeneratedValue;
  import javax.persistence.GenerationType;
  import javax.persistence.Id;
  import javax.persistence.JoinColumn;
  import javax.persistence.OneToMany;
  
  @Entity
  public class Customers {
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private int customer_id;
      private String customerName;
      private String contactName;
      private String address;
      private String city;
      private String postalCode;
      private String country;
  
      @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true)
      @JoinColumn(name = "customer_id")
      private List&lt;Orders&gt; order;
  
      public Customers() {
      }
  
      public List&lt;Orders&gt; getOrder() {
          return order;
      }
  
      public void setOrder(List&lt;Orders&gt; order) {
          this.order = order;
      }
  
      public Customers(String customerName, String contactName, String address, String city, String postalCode,
              String country, List&lt;Orders&gt; order) {
          this.customerName = customerName;
          this.contactName = contactName;
          this.address = address;
          this.city = city;
          this.postalCode = postalCode;
          this.country = country;
          this.order = order;
      }
  
      public String getCustomerName() {
          return customerName;
      }
  
      public void setCustomerName(String customerName) {
          this.customerName = customerName;
      }
  
      public String getContactName() {
          return contactName;
      }
  
      public void setContactName(String contactName) {
          this.contactName = contactName;
      }
  
      public String getAddress() {
          return address;
      }
  
      public void setAddress(String address) {
          this.address = address;
      }
  
      public String getCity() {
          return city;
      }
  
      public void setCity(String city) {
          this.city = city;
      }
  
      public String getPostalCode() {
          return postalCode;
      }
  
      public void setPostalCode(String postalCode) {
          this.postalCode = postalCode;
      }
  
      public String getCountry() {
          return country;
      }
  
      public void setCountry(String country) {
          this.country = country;
      }
  
      public int getCustomer_id() {
          return customer_id;
      }
  
      @Override
      public String toString() {
          return "Customers [customer_id=" + customer_id + ", customerName=" + customerName + ", contactName="
                  + contactName + ", address=" + address + ", city=" + city + ", postalCode=" + postalCode + ", country="
                  + country + ", order=" + order + "]";
      }
  
  }
  </code></pre>
  
  <p><strong>Orders</strong></p>
  
  <pre><code>package regular;
  
  import java.util.Date;
  
  import javax.persistence.Entity;
  import javax.persistence.GeneratedValue;
  import javax.persistence.GenerationType;
  import javax.persistence.Id;
  import javax.persistence.Temporal;
  import javax.persistence.TemporalType;
  
  @Entity
  public class Orders {
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private int orderId;
  
      @Temporal(value = TemporalType.TIMESTAMP)
      private Date orderDate;
  
      private String productName;
      private int quantity;
  
      public Orders(String productName, int quantity) {
          this.orderDate = new Date();
          this.productName = productName;
          this.quantity = quantity;
      }
  
      public Orders() {
      }
  
      public Date getOrderDate() {
          return orderDate;
      }
  
      public void setOrderDate(Date orderDate) {
          this.orderDate = orderDate;
      }
  
      public String getProductName() {
          return productName;
      }
  
      public void setProductName(String productName) {
          this.productName = productName;
      }
  
      public int getQuantity() {
          return quantity;
      }
  
      public void setQuantity(int quantity) {
          this.quantity = quantity;
      }
  
      public int getOrderId() {
          return orderId;
      }
  
      @Override
      public String toString() {
          return "Orders [orderId=" + orderId + ", orderDate=" + orderDate + ", productName=" + productName
                  + ", quantity=" + quantity + "]";
      }
  
  }
  </code></pre>
  
  <p><strong>Runner</strong></p>
  
  <pre><code>package regular;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.cfg.Configuration;
  
  public class Runner {
  
      public static void main(String[] args) {
  
          SessionFactory sessionFactory = new Configuration().configure("/regular/hibernate.cfg.xml")
                  .addAnnotatedClass(Customers.class).addAnnotatedClass(Orders.class).buildSessionFactory();
          Session session = sessionFactory.openSession();
          session.beginTransaction();
  
          Customers customer = new Customers();
  
          customer.setCustomerName("Robert Bosch");
          customer.setAddress("404 California Ave");
          customer.setCity("California");
          customer.setPostalCode("60466");
          customer.setCountry("USA");
  
          List&lt;Orders&gt; orders = new ArrayList&lt;&gt;();
  
          orders.add(new Orders("Car", 4));
          orders.add(new Orders("Headphones", 6));
  
          customer.setOrder(orders);
  
          session.save(customer);
  
          session.close();
      }
  
  }
  </code></pre>
  
  <p><strong>Error</strong></p>
  
  <pre><code>Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'orderDate' in 'field list'
      at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:686)
      at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:663)
      at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:653)
      at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
      at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2041)
      at com.mysql.cj.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1827)
      at com.mysql.cj.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2041)
      at com.mysql.cj.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:1977)
      at com.mysql.cj.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:4963)
      at com.mysql.cj.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1962)
      at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)
      ... 41 more
  </code></pre>