从 Ebean 中用户定义的编号开始 ID 值,Play-framework 2.5.4 java

Start ID value from a user defined number in Ebean, Play-framework 2.5.4 java

我正在使用 Play-framework 2.5.4 (Java)。我正在使用 Ebean 作为 ORM。

这是我的模型 class :

    @Entity
    public class MyModel extends Model
    {
        @Id
        @GeneratedValue()
        public Long ID;
   }

我想要实现的是,

现在生成的ID默认值是1,2,3,4等等

我怎样才能做到这一点?

您可以实现自定义 UID 生成器,例如 http://ebean-orm.github.io/docs/mapping/jpa/id

public class ModUuidGenerator implements IdGenerator {

  @Override
  public Object nextValue() {
    return 9999999l + ModUUID.newShortId();
  }

  @Override
  public String getName() {
    return "shortUid";
  }
}

总是递增 1 会导致并发问题,但这确实会强制每个 id > 9999999l。