Currently I have such relations in my DB
And I have appropriate classes:
Basic superclass:
@Entity
@Table(name = "Person")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Person {
    @Id
    @Column(name = "Id")
    @GeneratedValue(strategy = GenerationType.AUTO)
    protected Integer id;
    @Column(name = "Name")
    protected String name;
    @Column(name = "Birthday")
    protected Date birthDate;
    @Column(name = "Avatar")
    protected String avatarUrl;
    @Column(name = "Sex")
    protected Integer gender;
    //... Getters and Setters
}
Client:
@Entity
@Table(name = "Client")
@PrimaryKeyJoinColumn(name = "Id")
public class Client extends Person {
    @Id
    @Column(name = "PersonId")
    private Integer personId;
    @Column(name = "Weight")
    private Float weight;
    @Column(name = "WeightUnit")
    private Integer weightUnit;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="PersonId")
    private Trainer trainer;
    //... Getters and Setters
}
Trainer:
@Entity
@Table(name = "Trainer")
@PrimaryKeyJoinColumn(name = "Id")
public class Trainer extends Person {
    @Id
    @Column(name = "PersonId")
    private Integer personId;
    @Column(name = "Description")
    private String description;
    @Column(name = "CurrencyCode")
    private Integer currencyCode;
    @Column(name = "Price")
    private Float price;
    @Column(name = "Rating")
    private Float rating;
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "trainer")
    private List<Client> clients;
    //Getters and Setters
}
So basically, what I need, is to grab data from both tables in a single object, based on id matching. Unlikely it doesn't work for me.
All the time I receive this error:
ClassCastException: org.hibernate.mapping.JoinedSubclass cannot be cast to org.hibernate.mapping.RootClass
Any idea how can I fix it?
