Автоинкремент Sybase / Hibernate на основе уникального ограничения для нескольких столбцов - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть такая таблица в sybase

uuid | varchar

parent_uuid | varchar

entity_version | int

с составным уникальным ограничением на основе parent_uuid и entity_version.

Я смотрю на автоинкрементную entity_version на основе этого ограничения. Таким образом, первая вставка для parent_uuid = 'ABC' будет равна 0, а последующие вставки примут значение 1,2,3 ...

У нас есть спальное приложение на основе Java. Однако существуют случаи, когда эта таблица может быть обновлена ​​путем обхода спящего режима, поэтому я бы предпочел использовать что-то, что могло бы автоматически увеличивать это значение в БД.

Есть ли выход за пределы написания триггера / процедуры

1 Ответ

0 голосов
/ 13 декабря 2011

Hibernate не предназначен для обеспечения непрерывности доступа к нему из других источников.Триггер базы данных - путь, но если у вас есть только / мало таких требований.Если его поперчил в вашем приложении.Вам нужно что-то еще.Как база данных Distibuted или распределенный кеш, имеющий доступ только к вашей базе данных.Одинокий случай, триггер подойдет.И может быть консоль / основной / веб-класс, вызывающий тоже из hibernate, просто для того, чтобы там тоже был один набор OIRM.Надеюсь, это поможет

...