2014-08-27 72 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)"/> 
相关问题