Hibernate добавить последовательность на основе даты - PullRequest
1 голос
/ 13 января 2012

У меня есть эта таблица на Sql Server

  • id int
  • journal_date datetime
  • sequence int

Что я пытаюсьdo генерировать последовательность на основе значения datetime.

пример базы данных

| id | journal_date | sequence |
--------------------------------
|  1 | 2012-01-01   |      1   |
|  2 | 2012-01-01   |      2   |
|  3 | 2012-01-02   |      1   |
|  4 | 2012-01-01   |      3   |

Как это сделать на модели гибернации и аннотациях?

1 Ответ

0 голосов
/ 13 января 2012

для заполнения столбца последовательности в первый раз

UPDATE journaltable t1 SET sequence =
  (SELECT COUNT (*) FROM journaltable t2
   WHERE t2.journal_date = t1.journal_date AND t2.id < t1.id);

и для его синхронизации используйте триггер с

UPDATE journaltable t1 SET sequence =
  (SELECT COUNT (*) FROM journaltable t2 WHERE t2.journal_date = t1.journal_date AND t2.id < t1.id)
  WHERE t1.id = @newlyInsertedId;

или обработайте его в коде, используя Hibernate

...