title: JPA exception while mapping to entities
body: <p>Hi I'm writing one of my very first JPA projects and I'm kinda newbie in this field, so please try to simplify stuff as much as you can :)
  Here's one of the entities</p>
  
  <pre><code>package model;
  
  import java.io.Serializable;
  import java.sql.Date;
  import java.util.Set;
  
  import javax.persistence.CascadeType;
  import javax.persistence.Entity;
  import javax.persistence.GeneratedValue;
  import javax.persistence.GenerationType;
  import javax.persistence.Id;
  import javax.persistence.OneToMany;
  import javax.persistence.Table;
  import javax.xml.bind.annotation.XmlRootElement;
  
  @Entity
  
  public class Speaker implements Serializable {
  
      /**
       * 
       */
      private static final long serialVersionUID = 1L;
      @Id @GeneratedValue(strategy=GenerationType.AUTO)
      private int id;
      private String name;
      private Date dob;
      private String skills;
      @OneToMany(mappedBy="event",cascade={CascadeType.ALL})
      private Set &lt;Session&gt; speakerSessions;
  
      /**
       * @return the name
       */
      public String getName() {
          return name;
      }
      /**
       * @param name the name to set
       */
      public void setName(String name) {
          this.name = name;
      }
      /**
       * @return the dob
       */
      public Date getDob() {
          return dob;
      }
      /**
       * @param dob the dob to set
       */
      public void setDob(Date dob) {
          this.dob = dob;
      }
      /**
       * @return the skills
       */
      /**
       * @return the skills
       */
      public String getSkills() {
          return skills;
      }
      /**
       * @param skills the skills to set
       */
      public void setSkills(String skills) {
          this.skills = skills;
      }
      /**
       * @return the id
       */
      public int getId() {
          return id;
      }
      /**
       * @param id the id to set
       */
  
  }
  </code></pre>
  
  <p>and here's the exception that gets thrown  </p>
  
  <pre><code>   Exception in thread "main" javax.persistence.PersistenceException: Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
  Exception Description: Deployment of PersistenceUnit [test] failed. Close all factories for this PersistenceUnit.
  Internal Exception: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.IntegrityException
  Descriptor Exceptions: 
  ---------------------------------------------------------
  
  Exception [EclipseLink-93] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: The table [EVENT] is not present in this descriptor.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Exception [EclipseLink-41] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: A non-read-only mapping must be defined for the sequence number field.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Runtime Exceptions: 
  ---------------------------------------------------------
  
      at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createDeployFailedPersistenceException(EntityManagerSetupImpl.java:816)
      at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:756)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
      at Test.Tester.main(Tester.java:19)
  Caused by: Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
  Exception Description: Deployment of PersistenceUnit [test] failed. Close all factories for this PersistenceUnit.
  Internal Exception: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.IntegrityException
  Descriptor Exceptions: 
  ---------------------------------------------------------
  
  Exception [EclipseLink-93] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: The table [EVENT] is not present in this descriptor.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Exception [EclipseLink-41] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: A non-read-only mapping must be defined for the sequence number field.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Runtime Exceptions: 
  ---------------------------------------------------------
  
      at org.eclipse.persistence.exceptions.EntityManagerSetupException.deployFailed(EntityManagerSetupException.java:238)
      ... 7 more
  Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.IntegrityException
  Descriptor Exceptions: 
  ---------------------------------------------------------
  
  Exception [EclipseLink-93] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: The table [EVENT] is not present in this descriptor.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Exception [EclipseLink-41] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
  Exception Description: A non-read-only mapping must be defined for the sequence number field.
  Descriptor: RelationalDescriptor(model.Speaker --&gt; [DatabaseTable(SPEAKER)])
  
  Runtime Exceptions: 
  ---------------------------------------------------------
  
      at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:689)
      at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:625)
      at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:565)
      at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:792)
      at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:736)
      at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
      at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:681)
      ... 5 more
  </code></pre>
  
  <p>I nearly have zero experience in this topic so please provide as much detailed info as you can :)</p>
  
  <p>here's the session entity guys</p>
  
  <pre><code>package model;
  
  import java.io.Serializable;
  import java.sql.Date;
  
  import javax.persistence.*;
  import javax.xml.bind.annotation.XmlRootElement;
  
  @Entity
  @Table (name="session")
  @NamedQueries({
  @NamedQuery (name="findAllSessionForEvent",query="select e from Session e where e.event.id= :id"),
  @NamedQuery (name="findSessionsBySpeakerName",query="select e from Session e where e.speaker.name=':name'"),
  @NamedQuery (name="findSpeakerOfSessionBySessionId",query="select e.speaker.name from Session e where e.id=:id")})
  @XmlRootElement
  
  public class Session implements Serializable {
      /**
       * 
       */
      private static final long serialVersionUID = 1L;
      @Id @GeneratedValue(strategy=GenerationType.SEQUENCE)
      private int id;
      private Date date;
      @ManyToOne
      @JoinColumn (name="eventID")
      //@Column(name="eventID")
      private Event event;
      @ManyToOne
      @JoinColumn (name="speakerID")
      //@Column(name="speakerID")
      private Speaker speaker;
      /**
       * @return the date
       */
      public Date getDate() {
          return date;
      }
      /**
       * @param date the date to set
       */
      public void setDate(Date date) {
          this.date = date;
      }
      public int getId() {
          return id;
      }
      public void setId(int id) {
          this.id = id;
      }
      public Speaker getSpeaker() {
          return speaker;
      }
      public void setSpeaker(Speaker speaker) {
          this.speaker = speaker;
      }
      public Event getEvent() {
          return event;
      }
      public void setEvent(Event event) {
          this.event = event;
      }
  
  
  }
  </code></pre>