簡體   English   中英

是否有更好的解決方案將大量字段實體映射到兩個表中?

[英]Is there better solution to map lots of fields entity into two tables?

我正在獲取50個字段的數據。 如何映射到jpa中的兩個表,其中我只需要三個字段和其他字段我只需要傳遞到下游?

這是一個新的spring數據jpa,運行H2 db項目。 過去,我試圖在一個實體表中映射所有50個字段。 但我只需要來自這50個字段的3個必要字段來處理來自db的最后5000條記錄。

   @Entity
   class SingleCustomer{  

    //ID field
    // 3 fields only these fields I am using to process my data from db

    //47 fields just to pass to another service without any process

    }

為了提高我的應用程序的性能,我應采取哪種方法? 有沒有其他方法可以提高應用程序性能,例如分成兩個實體,並在需要發送另一個服務時一對一地加入。

正如您所說,您可以將所有字段拆分為兩個實體並加入一對一關系。 但是您應該注意到默認情況下會急切地加載具有一對一關系的字段,您應該將其標記為延遲加載以提高性能。

正如@Lebecca指出的那樣,對於不需要與@OneToOne關聯一起使用的字段使用單獨的實體是這樣做的一種方式。

但是,如果您希望將所有屬性保留在一個實體中,則可以打開Hibernate字節碼增強功能,從而支持@Basic(fetch = LAZY) 如果需要,您還應該能夠將這種方法與使用@SecondaryTable相結合來存儲您通常不需要的屬性。

有關詳細信息,請參閱此處 ,包括有關如何在啟用增強功能的情況下微調延遲加載行為的信息。

暫無
暫無

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

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