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