我正在使用Play-framework 2.5.4(Java)。我正在使用Ebean作为ORM。
这是我的模型类:
@Entity
public class MyModel extends Model
{
@Id
@GeneratedValue()
public Long ID;
}
我想要实现的是,
- ID的值应为8位数字
- 它应该是独一无二的
- 它应该从 10000000 开始 即第一个ID应该是10000000,第二个ID应该是
- 10000000,第二个ID应该是100000001依此类推。
现在生成的 ID 的默认值为 1、2、3、4 等。
我怎样才能做到这一点?
您可以实现像 http://ebean-orm.github.io/docs/mapping/jpa/id 这样的自定义 UID 生成器。
public class ModUuidGenerator implements IdGenerator {
@Override
public Object nextValue() {
return 9999999l + ModUUID.newShortId();
}
@Override
public String getName() {
return "shortUid";
}
}
始终递增 1 可能会导致并发问题,但这确实会强制每个 id> 9999999l。