title: @MappedSuperclass and @OneToMany
body: <p>I need association <code>@OneToMany</code> from Country to superclass <code>Place</code> (<code>@MappedSuperclass</code>). It could be bidirectional. I would need something like <code>@OneToAny</code>.</p>
  
  <pre><code>@MappedSuperclass
  public class Place {
  
      private String name;
      private Country country;
  
      @Column
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      @ManyToOne
      @JoinColumn(name="country_id")
      public Country getCountry() {
          return country;
      }
  
      public void setCountry(Country country) {
          this.country = country;
      }
  }
  </code></pre>
  
  <p>Country:</p>
  
  <pre><code>@Entity
     public class Country {
     private long id;
     private String name;
     private List&lt;Place&gt; places;
  
     @Any(metaColumn = @Column(name = "place_type"), fetch = FetchType.EAGER)
     @AnyMetaDef(idType = "integer", metaType = "string", metaValues = {
           @MetaValue(value = "C", targetEntity = City.class),
           @MetaValue(value = "R", targetEntity = Region.class) })
     @Cascade({ org.hibernate.annotations.CascadeType.ALL })
     //@JoinColumn(name="unnecessary") 
     //@OneToMany(mappedBy="country")  // if this, NullPointerException...
     public List&lt;Place&gt; getPlaces() {
        return places;
     }
  //and rest of class
  </code></pre>
  
  <p>Without <code>@JoinColunm</code> there is an exception:</p>
  
  <blockquote>
    <p>Caused by: org.hibernate.AnnotationException: @Any requires an explicit @JoinColumn(s): tour.spring.bc.model.vo.Country.places</p>
  </blockquote>
  
  <p>In table City and Region is foreign key to table Country (Region.country_id, City.country_id) which is ok.
  But I do NOT need foreign key in table Country to tables Region and City so I don't need <code>@JoinColum</code>.</p>
  
  <p>What can I do?</p>