且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在hibernate映射中进行order-by

更新时间:2023-09-09 23:29:40

order-by子句应该包含SQL代码段将用于订购物品清单。如果您的示例中您的订购条件不在T_B表中,那么您可能无法完成您想要的任务。另一方面,如果B包含一个C,并且它始终是一对一的关系,那么可以在DB中定义一个视图来聚合这些表,并为您提供一个可以排序的列。


suppose Object A has a list of Object B, and Object B must have a object C, B can be order base on C.level .

In A.hbm.xml

<bag name="listB"
             table="T_B"
             inverse="false"
             order-by="?? what should i do here???"
         >
            <key column="ID_A" not-null="true"/>
            <many-to-many column="ID_B" class="B"/>
        </bag>

The order-by clause should contain the SQL snippet you would use to order the list of items. If your ordering criteria is not located in the table T_B in your example, then you probably won't be able to accomplish what you want. On the other hand if B contains a C and its always a one to one relationship, you could define a view in the DB the aggregates the tables and gives you a column to sort on.