Оставляя в стороне мудрость этого подхода, добавление счетчика к UUID не даст вам чего-то, что будет осмысленно упорядочено предложением order by
, потому что вы создаете что-то в форме RANDOMSTUFF-2
.Это нельзя упорядочить ни в какой последовательности, потому что order by
будет сортировать строковый столбец, лексически начиная с первого символа.
Поэтому вместо этого поместите счетчик в начало вашей строки.Тогда у вас будет что-то, что order by
может многозначительно отсортировать:
String s = String.valueOf(x) + "-" + idOne.toString().toUpperCase();
(Хотя вы, вероятно, захотите / должны обнулять вывод String.valueOf(x)
, потому что в противном случае "1000"
будет отсортирован побыть до "2"
. Так что вам нужно "2"
для вывода как, например, "0002"
.
(и, конечно, вы должны использовать StringBuilder.append()
(или StringBuffer
, если ваша версия Javaдостаточно стар), а не конкатенация строк).