Hibernate根据日期添加序列

时间:2012-01-13 06:23:02

标签: java sql-server hibernate hibernate3

我在Sql Server上有这个表

  • id int
  • journal_date datetime
  • sequence int

我尝试做的是根据日期时间值生成序列。

数据库示例

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

如何在hibernate模型和注释上执行此操作?

1 个答案:

答案 0 :(得分:0)

第一次填写序列栏

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在Code中处理它