Есть две таблицы, обе имеют составные первичные ключи.Первая часть составного ключа такая же, вторая часть нет.Я хотел бы получить данные из 2-й таблицы в виде Collection <> в одном классе Java.
Пробовал OneToMany, ManyToOne, ManyToMany, mappedBy, JoinColumns в течение многих часов, но всегда получал различные ошибки.
Это всего лишь пример.
Table 1:
-------
articleId (pk)
deliverDate (pk)
[some_data]
Table 2:
-------
articleId (pk)
customerId (pk)
[other_data]
В SQL я легко могу написать что-то вроде этого:
mysql> select a.articleId, a.deliverDate, a.some_data,
c.customerId, c.other_data
from Article a, Customer c
where a.articleId = c.articleId
and a.deliveryDate = someDate
and a.articleId = 12345;
Это довольно просто.
Теперь я хотел бы сделать то же самое с JPA, вот так:
public class ArticleDeliveryCustomer {
@EmbeddedId
protected ArticlePK pk;
@???? OneOrMany to OneOrMany? Which option? JoinWhat? mappedWhat?
private Collection<Customers> cust;
}
Что бы я ни пытался, ничего не вышло.Либо в то время, когда я пытаюсь развернуть приложение на сервере приложений (wildfly), либо, если развертывание прошло успешно, во время выполнения.
Я понятия не имею, как поручить JPA делать то, что требуется.Я уже начинаю задумываться, поддерживается ли это вообще.Отображение частей составного ключа в другую таблицу для возврата Collection <>?Теперь у меня действительно болит голова.
Я ожидаю один объект класса ArticleDeliveryCustomer, который содержит коллекцию <> всех customerIds для конкретного articleId & deliveryDate.