【发布时间】:2012-02-02 21:38:30
【问题描述】:
我有 2 个 oracle 表。其中一个是 oracle 外部表,另一个是带有主键的标准 oracle 表。我希望能够使用LEFT OUTER JOIN 从两个表中选择列。我只是不确定如何为外部表设置 hql 映射,因为它没有主键。
外部表 DDL
创建表 MY_EXTERNAL ( TRANSDATE VARCHAR2(8), ACC_NO VARCHAR2(10), TRANSID VARCHAR2(20), ID VARCHAR2(16), 费用编号(17), 数量(17) ) 组织外部 ( 默认目录 MY_EXTERNAL_DIR 访问参数 ( 由 NEWLINE 分隔的记录 以“,”结尾的字段 可选地由 '"' 包围 ) 位置('my_feed.dat') )要加入的表的 DDL
创建表 ACCTINFO ( 序列号(12), IDENT VARCHAR2(16), 可用号码(17), HOLDONOD CHAR(1) ) 在 ACCTINFO 上创建唯一索引“ACCTINFO_PK” (序列) 在 ACCTINFO 上创建索引 IDENT_IDX (标识)我想使用从MY_EXTERNAL 的ID 到ACCTINFO 的IDENT 的连接从MY_EXTERNAL 和ACCTINFO 中选择所有内容
如果我能在设置类和查询方面获得任何帮助,我将不胜感激
【问题讨论】:
-
您不用 HQL 配置映射,而是用它编写查询。这是 Hibernate 映射的问题,而不是 HQL 查询。
-
我不知道外部表是什么,但是使用 Hibernate 映射没有任何唯一不可变 ID 的表是不可能的。