我有 ORACLE DB 和 2 个表。我需要从 table1 内部连接 table2 中选择行并按 ORACLE RowID 列排序。要选择我使用标准查询。要按我使用的语句添加订单
criteria.addOrder(Order.asc("this.rowId"));
在映射 RowId 看起来像
<property name="rowId" column="ROWID" insert="false" update="false"/>
但是hibernate会生成错误的sql查询,例如
select this_.docId as attr0_, this_.name as attr1_ from table1 this_ inner join table2 t2_ on this_.docId=t2_.docId order by ROWID asc
休眠从查询中删除别名“this”。因为 ORACLE 中的所有表都有 ROWID 列,所以我们有 oracle 错误 ORA-00918
我如何通过休眠条件编写正确的查询以按 oracle RowId 列排序?