-2
我有一個實體/ JSF Managed Bean的Ticket
表示一個服務檯 票的屬性。豆類:如何正確地管理受另一個
它有一個status
財產;當狀態設置爲closed
我想 的closingDate
屬性的值更改爲當前系統時間。 但我認爲,代碼應包含在豆類,如每次 單被關閉,應記錄時間。
什麼是管理它的正確方法?我有幾個想法。的creationTime
私人
- 製作二傳手,並改變其值時,
status
setter方法被調用。快速,快速,但讓一個setter更改兩個 屬性。另外,迫使我(因爲我已經在使用它,但仍然是一個限制,不是太大的問題 的),當bean是系列化我不明白的 會發生什麼使用JPA字段訪問。 - 使
status
屬性成爲一個綁定的屬性,如JavaBean中所述, 並使該類自己成爲PropertyChangeListener
。很正式,但 有點過於複雜,我的比喻。 - 讓這兩個屬性的制定者專用,並添加非bean的方法
close()
執行兩種操作。我會這樣做,但它可以使我很難與JSF一起使用 。 - 什麼都不做。保持豆儘可能啞並將邏輯移至 控制器;希望沒有人忘記更新 屬性。
我贊成1)或3),但我想知道是否有更好的方法。
看到你的答案很長一段時間以前,但我正忙着,後來忘了,不好意思。我們的想法是找到一種執行'close()'方法的方式,就像'@ PostConstruct'一樣(但在模型被框架更新後)。正確的一點是分離JSF和JPA bean;我試圖避免/軟化它(使用JSF的包裝而不是完全不同的類),但是無法避免。使用不同的bean,將數據從JSF複製到JPA(或反之亦然)的時刻就是改變數據表示方式的時刻。 – SJuan76