簡體   English   中英

如何使用 uniqe 產品代碼自動增加數據庫 ID,然后在 spring 啟動時更改 mont 時將其重置為 1?

[英]How to auto-increment database id with uniqe product code and then reset it to 1 when change mont in spring boot?

我目前正在使用 java spring 啟動。 我正在使用 JPA 存儲庫和 postgresql 作為數據庫

我的企業主希望我創建包含以下內容的交易 ID

PRODUCT_CODE-YEAR-MONTH-INCREMENT_NUMBER
  • 增量數包含 8 個長度數

示例:0000001、0000011、0000201

example : 48-2022-04-0000001
48-2022-04-0000001
48-2022-04-0000002
48-2022-04-0000003
-----> 48-2022-04-0000203

下個月時,增量編號將重置為 0000001。

將:

48-2022-05-0000001

最好的方法是什么?

另外,如果對 select 給定月份和年份的最后數據有任何查詢?

請幫助我,我只想提前說聲謝謝

多個序列,每年一個

你沒有一個序列。 你有很多序列,每個月一個。

使用 Postgres 命令CREATE SEQUENCE創建一個以每個月命名的序列。 我建議使用包含標准ISO 8601格式 YYYY-MM 的年月的序列名稱。

在 Java 中,使用YearMonth表示特定月份。

你說:

下個月時,增量編號將重置為 0000001

不,不要考慮重置。 一方面,在特殊情況下,您可能需要為之前或未來的月份創建交易。 重置將排除這種情況。

所以保留多個序列,每個月一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM