JPA многоуровневые отношения - PullRequest
0 голосов
/ 18 июля 2011

У меня проблема, когда я застрял :(. Мне нужно строить отношения на основе отношений (странно!). Например, у меня есть отношение, в котором у одной сущности A может быть много B (OneToMany)

A ----> B

Теперь мне нужно другое отношение, где у сущности C будет отношение OneToOne с составным отношением между A и B. Как,

C--> (A--->B)  , not C-->A-->B  

Не то чтобы C будет иметь отношение к A и A имеет отношение к B, это должно быть похоже на C -> D (A -> B).

Сгенерированные объединенные таблицы не имеют первичного ключа в JPA, и теперь я думаю, как мне сопоставить это отношение. Обратите внимание, что нормальный A -> B также необходим, поскольку он не может быть встраиваемым и должен быть постоянным.

Спасибо.

Пример: Место и Событие - мои две сущности, и я хочу связать с ними CleanPlan. Означает, что один CleanPlan связан с событием-1 местоположения-1. поэтому я указываю, что есть чистый план для местоположения-1 в событии-1. Имеет ли это смысл?

enter image description here

Ответы [ 2 ]

1 голос
/ 19 июля 2011

В JPA есть два аспекта этой проблемы. 1) Картографический стол создан. 2) Вместо таблицы сопоставления создается строка сопоставления.

Я думаю, что второй вариант облегчит вашу жизнь. Но это возможно, только если Событие и Местоположение имеют однонаправленное отношение. Затем на стороне ManyToOne поместите «mappedBy». И это сгенерирует таблицу сопоставления для таблицы ManyToOne. И вы можете ссылаться на этот столбец в таблице CleanPlan.

1 голос
/ 18 июля 2011

Я бы сказал это

enter image description here

или около того, в зависимости от мощности события-местоположения.

enter image description here

...