在 hibernate 配置 one-to-many 关系中,默认是用 set 的,但这样是无序的,要想有序,考虑用 list映射,但返回值总是带一些 null 值,导致其 size()不准确,不明白其中的原因,搜了一下,发现http://www.coderanch.com/t/217438/Object-Relational-Mapping/Hibernate-returning-List-with-NULL 有解决方案,就是 用 bag替换list,java类中仍然用 List ,就可以了,试了试,果然好用!!bag的配置如下
<bag name="bombPropFormulaPropses" order-by="prop_info_id asc" lazy="false">
<key column="formula_id"/>
<one-to-many class="com.henhao.domain.BombPropFormulaProps" />
</bag>
其中,order-by="field_name asc|desc" 指定排序字段,空格后 指定排序方式(asc为正序,desc为倒序)