Por que meu EmbeddedId no hibernate não está funcionando?

Tenho uma chave primária composta(IDHOLIDAYPACKAGE, IDHOLIDAYPACKAGEVARIANT) na tabelaHolidayPackageVariant OndeIDHOLIDAYPACKAGE refere-se à entidade HolidayPackage com umMuito para relacionamento entre HolidayPackageVariant e HolidayPackage.

Quando tento fazer o mapeamento PK compund em HolidayPackageVariant, recebo o seguinte erro:

alha na criação da @Initial SessionFactory :.org.org.hibernate.annotations.common.AssertionFailure: A classe declarante não foi encontrada na hierarquia do estado de herança: org.wah.model.holidaypackage.HolidayPackageVariantPrimaryKey

lguém pode me dizer o que estou fazendo de errado aqu

MY POJOs ficam assim:

HolidayPackageVariant:

@Entity
@Table(name="HOLIDAYPACKAGEVARIANT")
public final class HolidayPackageVariant {

    private HolidayPackageVariantPrimaryKey idCompound;

    @EmbeddedId
    public HolidayPackageVariantPrimaryKey getIdCompound() {
        return idCompound;
    }

    // other code
}

HolidayPackageVariantPrimaryKey

@Embeddable
public final class HolidayPackageVariantPrimaryKey implements Serializable {

    private Integer idHolidayPackageVariant;
    private HolidayPackage holidayPackage;

    public HolidayPackageVariantPrimaryKey(){}

    public HolidayPackageVariantPrimaryKey(int id, HolidayPackage pkg){
        setIdHolidayPackageVariant(id);
        setHolidayPackage(pkg);
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "IDHOLIDAYPACKAGEVARIANT", nullable = false)
    public Integer getIdHolidayPackageVariant() {
        return idHolidayPackageVariant;
    }

    @Id
    @ManyToOne(fetch=FetchType.LAZY, cascade={CascadeType.ALL})
    @JoinColumn(name="IDHOLIDAYPACKAGE", nullable=false)
    public HolidayPackage getHolidayPackage() {
        return holidayPackage;
    }

    // equals and hashCode
}

HolidayPackage

public final class HolidayPackage {
    private Set<HolidayPackageVariant> holidayPackageVariants = new HashSet<HolidayPackageVariant>(0);

    @OneToMany(fetch=FetchType.LAZY, cascade={CascadeType.ALL}, mappedBy = "idCompound.holidayPackage")
    public Set<HolidayPackageVariant> getHolidayPackageVariants() {
        return holidayPackageVariants;
    }

    // other code
}

questionAnswers(6)

yourAnswerToTheQuestion