Java 奥姆利特外国托收令

Java 奥姆利特外国托收令,java,ormlite,Java,Ormlite,我有ORMLite db对象,它有一个字段: @ForeignCollectionField(eager = true) public ForeignCollection<BlockMod> blocks; 我的问题是如何通过自定义排序获取此集合? 我知道我可以迭代这些数据,并根据需要对其排序,但这是最好的解决方案吗 当我请求ForeignCollection时,ORMLite是在执行db请求,还是在初始化主对象时进行了收集?可能是,此代码 @ForeignCollectionFi

我有ORMLite db对象,它有一个字段:

@ForeignCollectionField(eager = true)
public ForeignCollection<BlockMod> blocks;
我的问题是如何通过自定义排序获取此集合? 我知道我可以迭代这些数据,并根据需要对其排序,但这是最好的解决方案吗

当我请求ForeignCollection时,ORMLite是在执行db请求,还是在初始化主对象时进行了收集?

可能是,此代码 @ForeignCollectionField(eager=false,orderColumnName=“name”)

帮助您自定义外来集合的排序

,但是外来集合类是否支持对项目进行排序?在创建数组时,排序可能会更容易。。编辑:我检查了ForeignCollection类,它在内部使用List,所以yesI可能真的不太了解它。我想它是在单独请求获取ForeignCollection,如果是这样,我应该能够修改它。我总是需要它按一个特定的字段排序。必须有比排序数组更优雅的解决方案。好吧,HQL支持子句“orderby”,所以我想ORMLite也可以。你试过了吗?是的,我用它来获取数据。但我不知道如何处理外国收藏品。通常我会这样做:_list=DatabaseManager.getInstance().getHelper().getStoryDAO().queryBuilder().orderBy(StoryModKeys.CREATED_AT,false).where().eq(StoryModKeys.DELETED,false).query();您只需阅读以下文档:
public BlockMod[] getBlocks(){
   return blocks.toArray((BlockMod[])java.lang.reflect.Array.newInstance(BlockMod.class, blocks.size()));
}