Я использую это для генерации UUID (универсальных уникальных идентификаторов) для моих DTO, которые действуют как суррогатные ключи для переходных коллекций. Не знаю, если это то же самое, но это может указать вам правильное направление.
import java.util.UUID;
...
private String uuid=null;
...
protected String getUuid() {
synchronized (this) {
if (null ==uuid) {
uuid = UUID.randomUUID().toString();
}
return uuid;
}
}