我有2个oracle表。其中一个是oracle外部表,另一个是带有主键的标准oracle表。我希望能够使用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
< / p>
我很感激在设置课程和查询时可以获得的任何帮助
答案 0 :(得分:0)
使用组件集合,您不需要自己的唯一ID,只需要连接列
<bag name="externals" table="MY_EXTERNAL">
<key column="id" property-ref="IDENT">
<composite-element>
<property name=" transactionDate" column="TRANSDATE" />
...
</composite-element>
</bag>