Ссылочные объекты составного первичного ключа JPA; JSF

как следует из заголовка, у меня есть составной первичный ключ, который должен ссылаться на два объекта, чтобы позже иметь доступ к ним в JSF.

Класс должен выглядеть так...:

    @Entity
    public class Timetable {
        public static final String findAll = "Timetable.findAll";

        @Id
        @ManyToOne
        @JoinColumn(name = "lectureId")
        private Lecture lecture;

        @Id
        @ManyToOne
        @JoinColumn(name = "timeslotId")
        private Timeslot timeslot;

... поэтому я могу позже получить доступ к этим объектам в JSF следующим образом:

#{timetable.timeslot.timeslotId}

Однако теперь Glassfish предупреждает о несоответствии типов, поскольку lection и timeslot являются объектами, но ссылаются на первичный ключ типа Long.

Есть ли простой трюк, чтобы исправить это?

Для получения дополнительной информации я просмотрел следующие источники: http://docs.oracle.com/cd/E16439_01/doc.1013/e13981/cmp30cfg001.htm#BCGIGBEI

Заранее спасибо =)


person Micromonger    schedule 12.06.2015    source источник
comment
Эта ссылка просто объясняет типичные аннотации @Embeddable и @IdClass соответственно, которые можно использовать для формирования составного первичного ключа. Эти составные/сложные объекты Lecture и Timeslot кажутся сущностями, образующими отношения @ManyToOne с Timetable. Как тогда они могут быть частью составного первичного ключа в вашей СУБД? Однако вы можете иметь отдельное/обычное поле первичного ключа (не составное) в таблице базы данных, сохраняя оба этих отношения такими, какие они есть.   -  person Tiny    schedule 12.06.2015