hibernate 一对多排序

Record与PubItem一对多
Record.hbm.xml
set中的items按照PubItem中的Integer类型的inde字段排序

<set name="items"  cascade="all" lazy="true" order-by="inde ASC">

            <key column="recordId"/>
            <one-to-many class="PubItem"/>
        </set>

PubItem.hbm.xml

<many-to-one name="record" column="recordId" class="Record" />

现需要调整record中的items中的顺序,

    //下一个上来
    PubItem pubItem2=(PubItem)(items.toArray()[delIndex]);
    pubItem2.setInde(delIndex);
    //本身下降
    pubItem.setInde(delIndex+1);

    pubItemService.update(pubItem2);
    pubItemService.update(pubItem);
    //就相当于把原来顺序中的2,3对换一下,
    可是在items里,输出到前台,却还是原来的顺序,等重新获取record时候才重新排序,应该如何在更新后,就立即排序呢?

2个回答

wangbass2sun
wangbass2sun <set name="items" cascade="all" lazy="true" order-by="inde ASC">
3 年多之前 回复

谢谢一楼,但是我在

已经有order-by了,但是更新完后直接输出到前台,显示的顺序却还没有变化 ,只有重新获取record时时候才会排序,是不是hibernate缓存作用的结果,我想让它调整顺序后输出前台时候就是排序后的结果,应该怎么调整?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问