Hibernate - отображение внешнего стола - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть 2 оракула.Одна из них - внешняя таблица оракула, а другая - стандартная таблица оракула с первичным ключом.Я хочу иметь возможность выбирать столбцы из обеих таблиц, используя LEFT OUTER JOIN.Я просто не уверен, как настроить отображение hql для внешней таблицы, поскольку у нее нет первичного ключа.

Внешняя таблица DDL

CREATE TABLE MY_EXTERNAL
(
  TRANSDATE                   VARCHAR2(8),
  ACC_NO                      VARCHAR2(10),
  TRANSID                     VARCHAR2(20),
  ID                          VARCHAR2(16),
  FEE                         NUMBER(17),
  AMOUNT                      NUMBER(17)
)
ORGANIZATION EXTERNAL
( 
  DEFAULT DIRECTORY MY_EXTERNAL_DIR
  ACCESS PARAMETERS
  (
     RECORDS DELIMITED BY NEWLINE
     FIELDS TERMINATED BY ','
     OPTIONALLY ENCLOSED BY '"'
  )
  LOCATION ('my_feed.dat')
)

DDL для таблицы, к которой нужно присоединиться

CREATE TABLE ACCTINFO
(
  SEQ NUMBER(12),
  IDENT     VARCHAR2(16),
  AVAILBAL  NUMBER(17),
  HOLDONOD  CHAR(1)
)
CREATE UNIQUE INDEX "ACCTINFO_PK" ON ACCTINFO
( SEQ )
CREATE INDEX IDENT_IDX ON ACCTINFO
( IDENT )

Я хочу выбрать все от MY_EXTERNAL и ACCTINFO, если присутствует, используя соединение от ID из MY_EXTERNAL до IDENT из ACCTINFO

Я быблагодарю за любую помощь в настройке классов и запроса

1 Ответ

0 голосов
/ 06 февраля 2012

при использовании коллекции компонентов вам не нужен собственный уникальный идентификатор, только столбец соединения

<bag name="externals" table="MY_EXTERNAL">
  <key column="id" property-ref="IDENT">
  <composite-element>
    <property name=" transactionDate" column="TRANSDATE" />
    ...
  </composite-element>
</bag>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...