2014-08-27 50 views
0

我有3張桌子。如何在關聯表中使用Hibernate Criteria?

Table A - pk_id, FK_B_Id(foreign key of Table B),... 
Table B - pk_id, name.... 
Table C - pk_id, FK_A_Id(foreign key of Table A), name... 

我正在從Table A獲得搜索結果。在表A中記錄與表B或表c相關聯。在結果集中,我顯示name。如何根據名稱對搜索結果進行排序?

回答

0

我可以爲我的問題找到一個解決方案,我想與大家分享。

我向公式添加了一個新屬性(「名稱」)到表hbm.xml文件。然後使用此屬性進行排序。

這是我添加到表格hbm文件中的屬性。

<property name="name" formula="(SELECT COALESCE((SELECT t.NAME FROM TABLE_B t WHERE t.PK_ID = FK_TABLE_A),(SELECT n.NAME FROM TABLE_C n WHERE n.FK_TABLE_A=PK_ID) ,'') FROM DUAL)"/> 
相關問題