播放框架,每个模型插入超过20个项目的初始数据

时间:2012-08-13 10:06:18

标签: playframework-2.0 yaml ebean

在Play框架的开发模式中,我通过Global.java插入了我的initial-data.yml。但是,如果一个模型的项目超过20个,则自动生成的ID会变得疯狂。

例如,如果我有:

computers:
- !!models.Computer
    name: apple01
- !!models.Computer
    name: apple02
- !!models.Computer
    name: apple03
- !!models.Computer
    name: apple04
       ...
- !!models.Computer
    name: apple20
- !!models.Computer
    name: apple21
- !!models.Computer
    name: apple22

从1到20,他们按我插入的顺序获得了正确的自动生成ID。但是,在20岁之后,我无法获得我想要的ID。例如,名称为“apple22”的项目的自动生成ID为34.这很奇怪。有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

我希望它是batched fetching of sequences(第10节)和多个线程/连接,但问题中没有足够的信息可以告诉。

然而,一个更有用的答案可能是问 - 你为什么关心?高兴并不意味着不正确。像这样的顺序生成的ID应该是仅用于连接和完整性等的内部不透明标识符。不要依赖于他们的时间订购或非嬉皮士,并且不要将您的应用程序暴露给他们。如果您需要具有特定特征的关键字段,则最好定义另一个字段。