花了3个小时解决的困惑。
hbm.xml中的sql语句中可以用 from (select × from ...)。如下:
报错误:ORA-00923: 未找到要求的 FROM 关键字。
原因是 有 AS fvi
解决方法:(1)将 AS fvi 和 fvi 去掉。hbm.xml的sql语句中不能用别名 as,否则找不到。删除order by QAD.ID ASC
改成如下就ok了。
hbm.xml中的sql语句中可以用 from (select × from ...)。如下:
<property access="field" formula="(SELECT fvi FROM (SELECT (QA.NO ||' '|| QAD.NO) AS fvi FROM QA_AC_DET QAD ,QA_AC QA WHERE QAD.QA_AC_ID = QA.ID AND TRIM(QA.TYPE )='FVI' AND QAD.JOINT_ID = ID order by QAD.ID ASC) WHERE ROWNUM =1)" name="fvi">
</property>
报错误:ORA-00923: 未找到要求的 FROM 关键字。
原因是 有 AS fvi
解决方法:(1)将 AS fvi 和 fvi 去掉。hbm.xml的sql语句中不能用别名 as,否则找不到。删除order by QAD.ID ASC
改成如下就ok了。
<property access="field" formula="(SELECT QA.NO ||' '|| QAD.NO FROM QA_AC_DET QAD ,QA_AC QA WHERE QAD.QA_AC_ID = QA.ID AND QA.TYPE='FVI' AND QAD.JOINT_ID = ID AND ROWNUM =1 )" name="fvi">
</property>