Почему мой EmbeddedId в спящем режиме не работает?

У меня есть составной первичный ключ(IDHOLIDAYPACKAGE, IDHOLIDAYPACKAGEVARIANT) в таблицеHolidayPackageVariant гдеIDHOLIDAYPACKAGE относится к сущностиHolidayPackage сМного вОдин отношения междуHolidayPackageVariant а такжеHolidayPackage.

Когда я пытаюсь выполнить сопоставление PK compund в HolidayPackageVariant, я получаю следующую ошибку:

Первоначальное создание SessionFactory failed.org.hibernate.annotations.common.AssertionFailure: Объявление класса не найдено в иерархии состояний наследования: org.wah.model.holidaypackage.HolidayPackageVariantPrimaryKey

Может кто-нибудь сказать мне, пожалуйста, что я здесь делаю не так?

Мои POJO выглядят так:

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
}

Ответы на вопрос(3)

Ваш ответ на вопрос