Мне нужно написать программное обеспечение для генерации счетов в ColdFusion 9, используя ORM (Hibernate).
Одно из требований заключается в том, что номер счета-фактуры должен быть последовательным без пробела, что означает, что номер счета-фактуры не может быть пропущен.
Значение идентификатора базы данных (т. Е. Generator = "native") не работает, поскольку оно пропускает число, если транзакция не была зафиксирована.
Согласно документации CF9 :
приращение: этот алгоритм генерирует
идентификаторы типа long, short или
int, увеличивая счетчик
поддерживается ORM. Это обычно
используется при автогенерации для
первичный ключ не включен в
таблица, и вы хотите, чтобы ORM генерировать
основной ключ. Это следует использовать, когда
единственный случай ColdFusion является
только процесс для вставки данных в
таблица.
Гарантирует ли генератор приращений Hibernate отсутствие пропуска при неудачной транзакции? Это достаточно хорошо?
Если нет, то как мне это сделать? вставить номер счета-фактуры с помощью потокобезопасного генератора последовательных чисел в postInsert ()?