使用PreUpdate來維護實體更新資訊的問題

2021-08-24 19:38:19 字數 577 閱讀 8688

在jpa中,我們在實體更新前(@preupdate)來維護實體的更新資訊(lastmodifiedby、lastmodifiedon)。

但是這樣做會存在問題。主要問題是,這個維護資訊是在資料庫層面的,而我們希望記錄的是邏輯層面的。

下面通過乙個場景來展示問題所在。

在刪除角色之前,我們要先斷開角色與使用者的關聯關係,然後才刪除角色。下面是刪除角色的manager層**(rolemanager.remove(integer id)):

@override

public void remove(integer id)

getentitydao().remove(role);

}

在這段**裡,任何乙個與要刪除角色相關聯的使用者,都會被更新,同時系統也會記錄使用者的更新資訊(lastmodifiedby、 lastmodifiedon)。而事實上,我們可能是希望在使用者的基本資訊修改時去維護這兩個字段(業務層面),在使用者角色發生變化時不去維護這些字 段。

這裡先記錄問題。

由於問題涉及到我們系統設計層面的問題,希望大家參與討論,踴躍發表自己的意見!

如何使用正確的郵箱來維護客戶

一般來說,我們在跟客戶聯絡的時候,要盡可能避免使用免費郵箱跟客戶聯絡。因為這樣看起來非常不正規,只有客戶心裡踏實,我們才能得到更多的訂單。用乙個yahoo或者hotmail的免費郵箱,就好比用一部投幣式的公用 作為你公司的業務 就等於對客人說 我們公司不太正規,沒有 如果你打我們 我們會盡量跑出去辦...

規範日誌來提公升系統可維護性

在系統中日誌大體可以分為兩類,一類是流水日誌,另一類是錯誤日誌,對於前一類由於在業務上會有需求,所以設計系統時一般都會考慮,但關於錯誤記錄內容很多情況下都不會納入設計範圍,這樣導致我們開發出來的系統可維護性很差,錯誤日誌幾乎沒有參考 甚至誤導維護人員。怎樣才能輸出良好的日誌資訊呢?我想可以從下面幾點...

Response AddHeader使用例項收集

response.addheader refresh 60 url newpath newpage.asp 這等同於客戶機端元素 頁面轉向 response.status 302 object moved response.addheader location newpath newpage.asp...