如何从不可变标准库自动生成唯一 ID?
How to autogenerate a Unique ID from Immutables Criteria Library?
在 Immutables site is to switch to the new Immutables-Criteria functionality. In this sense I try to convert my project so that instead of Immutables-MongoDB it uses the Immutables-Criteria 上给出的建议。
Immutables-MongoDB provides the Id.generate()
method as a Default way to auto-generate unique id for an object. There is an example here.
import org.immutables.value.Value;
import org.immutables.mongo.types.Id;
@Value.Immutable
public abstract class ExampleMongoID{
// Autogenerating a id and converting it to a String
// This is a slightly modified and simplifed version of the [example of the site][3].
@Mongo.Id
@Value.Default
public String id() {
return Id.generate().toString();
}
}
但是等效标签没有任何与generate()
方法相似或等价的方法。在条件API.
中都找不到这种与ID相关的方法
在需要转换的项目中Id.generate()
先于inserting/coming使用。
有什么办法可以实现从新的Immutables-CriteriaAPI调用Id.generate()
的效果吗?
我更想知道基于 Immutables-Criteria 的首选方式是什么。一种解决方案可能是自动生成一个 GUID,但我想使用推荐的方法(如果有的话),这样我就可以与未来的更新更加兼容。
回到这个问题上来,我已经使用这种方法很长一段时间了,似乎效果很好。
@Value.Immutable
public abstract class ExampleMongoID{
@Criteria.Id
@Value.Default
public String getId() {
return java.util.UUID.randomUUID().toString();
}
}
在 Immutables site is to switch to the new Immutables-Criteria functionality. In this sense I try to convert my project so that instead of Immutables-MongoDB it uses the Immutables-Criteria 上给出的建议。
Immutables-MongoDB provides the Id.generate()
method as a Default way to auto-generate unique id for an object. There is an example here.
import org.immutables.value.Value;
import org.immutables.mongo.types.Id;
@Value.Immutable
public abstract class ExampleMongoID{
// Autogenerating a id and converting it to a String
// This is a slightly modified and simplifed version of the [example of the site][3].
@Mongo.Id
@Value.Default
public String id() {
return Id.generate().toString();
}
}
但是等效标签没有任何与generate()
方法相似或等价的方法。在条件API.
在需要转换的项目中Id.generate()
先于inserting/coming使用。
有什么办法可以实现从新的Immutables-CriteriaAPI调用Id.generate()
的效果吗?
我更想知道基于 Immutables-Criteria 的首选方式是什么。一种解决方案可能是自动生成一个 GUID,但我想使用推荐的方法(如果有的话),这样我就可以与未来的更新更加兼容。
回到这个问题上来,我已经使用这种方法很长一段时间了,似乎效果很好。
@Value.Immutable
public abstract class ExampleMongoID{
@Criteria.Id
@Value.Default
public String getId() {
return java.util.UUID.randomUUID().toString();
}
}