Я пытаюсь сопоставить объекты со следующей таблицей соединения,
Название таблицы: booking_pax
3 столбца: booking_id , pax_id , pax_no_in_tour
Первичный ключ: booking_id , pax_id
Внешний ключ: booking_id таблица бронирования ref, pax_id таблица ref ref
CREATE TABLE `booking_pax` (
`booking_id` int(8) unsigned NOT NULL,
`pax_id` int(8) unsigned NOT NULL,
`pax_numb_in_tour` int(2) unsigned DEFAULT NULL,
PRIMARY KEY (`booking_id`,`pax_id`),
KEY `booking_booking_pax` (`booking_id`),
KEY `pax_booking_pax` (`pax_id`),
CONSTRAINT `booking_booking_pax` FOREIGN KEY (`booking_id`) REFERENCES `booking` (`booking_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `pax_booking_pax` FOREIGN KEY (`pax_id`) REFERENCES `pax` (`pax_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
)
У меня есть две сущности: чел. и бронирование . Из-за отношения ManyToMany, и есть еще один столбец необходимо добавить в эту таблицу соединения.
Теперь у меня проблема с отображением в Hibernate.
Моделирование:
@Entity
public class Booking {
......
@ManyToMany
@JoinTable(
name="booking_pax",
joinColumns={@JoinColumn(name="booking_id")},
inverseJoinColumns={@JoinColumn(name="pax_id")}
)
//@ElementCollection
//@Column(name="pax_numb_in_tour")
public Map<Pax, Integer> getPaxs() {
return paxs;
}
......
}
Сообщение об ошибке:
org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.....model.Booking.paxs[java.lang.Integer]
Я пробовал много способов отобразить коллекцию, но все еще не работает.
Я использую IDE MyEclipse 8.6 с JaveEE 5. Я попытался перейти на JavaEE 6, но не смог.
Спасибо.