【发布时间】:2015-03-09 15:19:36
【问题描述】:
我的架构中有一个 toMany 关系(“一个人有 1..N 只猫”)。如果我查询一个实体的 toMany-target 实体,我使用以下代码:
List<Cat> cats = human.getCatList();
返回的列表是否保证有序?如果是,取决于哪个属性?
附加信息(生成代码):
在我的架构(生成器)中,实体的创建方式如下:
Entity human = schema.addEntity("human");
human.addIdProperty().autoincrement();
Entity cat = schema.addEntity("cat");
cat.addIdProperty().autoincrement();
pb = cat.addLongProperty("humanId");
pb.notNull();
pb.indexAsc(null, false);
human.addToMany(cat, pb.getProperty());
因此,我认为顺序是(隐式)由创建的索引定义的,但查看CatDao.java 显示索引是在没有定义顺序的情况下创建的:
"CREATE INDEX " + constraint + "IDX_CAT_HUMAN_ID ON CAT (HUMAN_ID);"
将pb.indexAsc 更改为pb.indexDesc 确实会更改索引名称,但不会更改列的索引顺序(请参阅:SQLite Syntax: indexed-column)。
那么 - 这是想要的行为吗?如何定义目标实体的顺序?
【问题讨论】: