title: EclipseLink - No [EntityType] was found for the key class [CurriculumTree] in the metamodel
body: <p>I get the following in my axis2 web service after deploying into tomcat. </p>
  
  <pre><code>java.lang.IllegalArgumentException: No [EntityType] was found for the key class [VOs.CurriculumTree] in the Metamodel - please verify that the [Entity] class was referenced in persistence.xml using a specific &lt;class&gt;VOs.CurriculumTree&lt;/class&gt; property or a global &lt;exclude-unlisted-classes&gt;false&lt;/exclude-unlisted-classes&gt; element.
  </code></pre>
  
  <p>The JPA works fine when I run from eclipse. I have defined the entity in the persistence.xml like so: </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;persistence version="2.0" 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"&gt;
      &lt;persistence-unit name="NewAge-Test" transaction-type="RESOURCE_LOCAL"&gt;
          &lt;class&gt;VOs.CurriculumTree&lt;/class&gt;
          &lt;properties&gt;
              &lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/contentserver_development"/&gt;
              &lt;property name="javax.persistence.jdbc.user" value="root"/&gt;
              &lt;property name="javax.persistence.jdbc.password" value="quadfusion"/&gt;
              &lt;property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/&gt;
          &lt;/properties&gt;
      &lt;/persistence-unit&gt;
  &lt;/persistence&gt;
  </code></pre>
  
  <p>Here is my entity class:</p>
  
  <pre><code>@Entity
  @Table(name="curriculum_trees")
  public class CurriculumTree implements NodeInfo, Serializable {
      private static final long serialVersionUID = 1L;
  
      @Id
      @GeneratedValue(strategy=GenerationType.IDENTITY)
      private int id;
  
      @LevelColumn
      @Column(name="depth",updatable=false)
      private int level;
  
      @Lob
      private String description;
  
      @LeftColumn
      @Column(updatable=false)
      private int lft;
  
      private String name;
  
      @Column(name="node_type")
      private String nodeType;
  
      @Column(name="parent_id")
      private int parentId;
  
      private int position;
  
      private boolean prassoTopicGroup;
  
      @RightColumn
      @Column(updatable=false)
      private int rgt;
  
      @RootColumn
      private int rootId;
  
      public CurriculumTree() {
      }
  
      public int getId() {
          return this.id;
      }
  
      public void setId(int id) {
          this.id = id;
      }
  
      public String getDescription() {
          return this.description;
      }
  
      public void setDescription(String description) {
          this.description = description;
      }
  
      public int getLft() {
          return this.lft;
      }
  
      public void setLft(int lft) {
          this.lft = lft;
      }
  
      public String getName() {
          return this.name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public String getNodeType() {
          return this.nodeType;
      }
  
      public void setNodeType(String nodeType) {
          this.nodeType = nodeType;
      }
  
      public int getParentId() {
          return this.parentId;
      }
  
      public void setParentId(int parentId) {
          this.parentId = parentId;
      }
  
      public int getPosition() {
          return this.position;
      }
  
      public void setPosition(int position) {
          this.position = position;
      }
  
      public boolean getPrassoTopicGroup() {
          return this.prassoTopicGroup;
      }
  
      public void setPrassoTopicGroup(boolean prassoTopicGroup) {
          this.prassoTopicGroup = prassoTopicGroup;
      }
  
      public int getRgt() {
          return this.rgt;
      }
  
      public void setRgt(int rgt) {
          this.rgt = rgt;
      }
  
      @Override
      public int getLeftValue() {
          return getLft();
      }
  
      @Override
      public int getRightValue() {
          return getRgt();
      }
  
      @Override
      public int getLevel() {
          return this.level;
      }
  
      @Override
      public int getRootValue() {
          return 0;
      }
  
      @Override
      public void setLeftValue(int value) {
          setLft(value);
      }
  
      @Override
      public void setRightValue(int value) {
          setRgt(value);
      }
  
      @Override
      public void setLevel(int level) {
          this.level = level;
      }
  
      @Override
      public void setRootValue(int value) {
          // TODO Auto-generated method stub
      }
  
      @Override public String toString() {
          return "[Curriculum Node: id=" + this.id + ", name=" + this.name + "-" + super.toString() + "]";
      }
  
  }
  </code></pre>
  
  <p>I tried the alternate which is including the tag <code>&lt;exclude-unlisted-classes&gt;false&lt;/exclude-unlisted-classes&gt;</code> in the <code>persistence.xml</code> but it didn't do any good. </p>