title: @Entity not recognizing the @Id in a @MappedSuperclass
body: <p>I'm attempting to create a base class for a set of entities to reduce coding effort and duplication.  My thought is that the base class has the common meta-data fields, and the child classes deal with their unique attributes.  </p>
  
  <p>My base class:</p>
  
  <pre><code>@MappedSuperclass
  public abstract class FinanceEntityBean {
      protected Long id;
  
      @Version
      private long version;
  
      @Id
      @GeneratedValue(strategy=GenerationType.IDENTITY)
      public Long getId() {
          return id;
      }
  
      public void setId(final Long id) {
          this.id = id;
      }
  }
  </code></pre>
  
  <p>The first entity:</p>
  
  <pre><code>@Entity
  @Table(name = "tag")
  public class Tag extends FinanceEntityBean {
  }
  </code></pre>
  
  <p>I've written tests using this code to do CRUD functions on the Tag entity, and they are all working fine.</p>
  
  <p>My question is - why does Eclipse (Indigo) insist that <code>Tag</code> has an error:</p>
  
  <p><code>The entity has no primary key attribute defined</code></p>
  
  <p>I've changed that to a warning for now so my code will compile, but I'm curious why Eclipse isn't happy, and if I've misunderstood something.</p>
  
  <p>Is this valid JPA 2.0 code?  Hibernate 4.1.5 is my JPA provider.</p>