title: Hibernate is looking for not existing DTYPE column in table
body: <p>For some reason Hibernate is looking for not existing <strong>DTYPE</strong> column in table. I wonder why? In my previous project everything is ok. But here i added class Freelancer in hierarchy and seems somehow it causes problem</p>
  
  <pre><code>Hibernate: 
      select
          user0_.id as id2_6_0_,
          user0_.email as email3_6_0_,
          user0_.first_name as first_na4_6_0_,
          user0_.last_name as last_nam5_6_0_,
          user0_.login as login6_6_0_,
          user0_.password as password7_6_0_,
          user0_.DTYPE as DTYPE1_6_0_,
          roles1_.user_id as user_id1_5_1_,
          roles1_.role as role2_5_1_ 
      from
          users user0_ 
      left outer join
          user_roles roles1_ 
              on user0_.id=roles1_.user_id 
      where
          user0_.id=?
  WARN  SqlExceptionHelper - SQL Error: 0, SQLState: 42703
  ERROR SqlExceptionHelper - ERROR: column user0_.dtype does not exist
    Position: 197
  
  javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
  </code></pre>
  
  <p>Hierarchy. Mapped super class:</p>
  
  <pre><code>@MappedSuperclass
  @Access(AccessType.FIELD)
  public class BaseEntity implements Persistable&lt;Integer&gt; {
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      @Column(name = "id")
      @Access(value = AccessType.PROPERTY)
      protected Integer id;
  
      public BaseEntity() {
      }
  
  //getters and setters
  }
  </code></pre>
  
  <p>Than entity User:</p>
  
  <pre><code>@Entity
  @Table(name = "users")
  public class User extends BaseEntity {
  
      @Column(name = "login")
      private String login;
  
      @Column(name = "password")
      private String password;
  
      @Column(name = "first_name")
      private String firstName;
  
      @Column(name = "last_name")
      private String lastName;
  
      @Column(name = "email")
      private String email;
  
      @Enumerated(EnumType.STRING)
      @CollectionTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"))
      @Column(name = "role")
      @ElementCollection(fetch = FetchType.EAGER)
      protected Set&lt;Role&gt; roles;
  
      public User(){}
  
  //getters and setters
  }
  </code></pre>
  
  <p>And I have Entity Freelancer</p>
  
  <pre><code>@Entity
  public class Freelancer extends User {
  
      @ManyToMany(cascade = CascadeType.ALL)
      @JoinTable(
              name = "freelancer_skills",
              joinColumns = {@JoinColumn(name = "freelancer_id")},
              inverseJoinColumns = {@JoinColumn(name = "skill_id")}
      )
      private Set&lt;Skill&gt; skills;
  
      public Freelancer(){}
  
  //getters and setters
  }
  </code></pre>
  
  <p>upd: Role class</p>
  
  <pre><code>import org.springframework.security.core.GrantedAuthority;
  
  public enum Role implements GrantedAuthority {
      USER,
      ADMIN,
      FREELANCER,
      CLIENT;
  
      @Override
      public String getAuthority() {
          return name();
      }
  }
  </code></pre>