如何使用Hibernate Criteria命令与关联表?

时间:2014-08-27 08:33:11

标签: sql hibernate hibernate-criteria

我有3张桌子。

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。如何根据名称对搜索结果进行排序?

1 个答案:

答案 0 :(得分:0)

我可以为我的问题找到解决方案,我想与大家分享。

我在表A hbm.xml文件中添加了一个带有公式的新属性(“name”)。然后使用此属性进行排序。

这是我添加到表A 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)"/>