3 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個贊
看起來您正在嘗試訪問實(shí)體內(nèi)應(yīng)用程序的存儲庫層。這通常不是一個好主意,因?yàn)閷?shí)體應(yīng)該只知道它們持有的數(shù)據(jù),而不是其他應(yīng)用程序組件。
在這種特殊情況下,明智的做法是使用一個@Service
帶有方法的類,您可以調(diào)用該方法將數(shù)據(jù)插入數(shù)據(jù)庫。在該方法中,您還可以插入任何其他實(shí)體。讓您的存儲庫成為服務(wù)的領(lǐng)域并使它們成為@Autowired
.

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個贊
我認(rèn)為您需要啟用JPA 審計。它可以在 Spring 中通過添加@EnableJpaAuditing
到持久性配置來啟用。這告訴 Spring 監(jiān)聽 JPA 實(shí)體生命周期事件并在適當(dāng)?shù)牡胤秸{(diào)用帶注釋的方法。
此外,我認(rèn)為如果回調(diào)方法僅在持久化 ( ) 時才被調(diào)用,則應(yīng)將其設(shè)為私有@PrePersist
。
在此處查看詳細(xì)信息。在本文中還介紹了實(shí)體偵聽器,在處理需要相同預(yù)持久功能的多個實(shí)體時,它也可能是一個很好的解決方案。

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個贊
我認(rèn)為您應(yīng)該創(chuàng)建一個服務(wù)類、一個存儲庫類和一個將通過存儲庫存儲的實(shí)體。獲取所有內(nèi)部元素并用默認(rèn)值填充它的邏輯是寫在服務(wù)中而不是寫在實(shí)體類中的好主意。如果您需要任何幫助,請告訴我。歡迎來到社區(qū)?。?/p>
添加回答
舉報