Устаревшая проблема с отображением базы данных в JPA 1.0 - PullRequest
0 голосов
/ 11 июля 2011

У меня проблема с отображением устаревшей базы данных с JPA 1.0.База данных хранится денормализованной для целей интеллектуального анализа данных.Я сократил это до простого примера, который, надеюсь, прояснит проблему.Предположим, у меня есть следующие две таблицы:

Table ITEMS
  PKEY  GROUPID  NAME
  1     1        'AX'
  2     1        'AY'
  3     2        'BX'
  4     2        'BY'

Table XENTITY
  PKEY  ITEMGROUPID  NAME
  1     1            'E1'
  2     1            'E2'
  3     2            'E3'

В основном я хочу получить доступ ко всем пунктам из XENTITY, которые имеют GROUPID, который хранится в столбце XENTITY ITEMGROUPID.Для классов Java это должно выглядеть следующим образом:

class Item {
}

class XEntity {
    public Set<Item> getItems();
}

Так что для XENTITIE 'E1', 'E2' я бы получил ПУНКТЫ 'AX', 'AY' и 'E3'Я бы получил «BX», «BY».

Я не уверен, как сопоставить такую ​​ситуацию с JPA.Несколько попыток проб и ошибок, к сожалению, оставили меня с пустыми руками.Я был бы очень признателен за любую помощь в этом отношении.

Заранее спасибо,

Алекс

1 Ответ

0 голосов
/ 11 июля 2011

У вас здесь очень редкая ассоциация «многие ко многим», и я сомневаюсь, что вы можете получить необходимую информацию с помощью картографии.Вам, вероятно, следует использовать определенный запрос, чтобы получить то, что вы хотите:

select item from Item item where item.groupId = :groupId
...