0
我有一個多租戶應用程序,其中每個學校是租戶。每所學校都可以有很多老師。所以我有兩種實體,一種是「學校」,二種是「教師」,每個老師都有一所父母學校。我使用對象化的@Parent註釋來建立學校與教師之間的關係。如何跨所有租戶過濾器查詢忽略每個租戶(即與WILDCARD名稱空間的查詢)的名稱空間在物化
現在我想統計我的管理門戶在各學校的教師數量。是否存在對象化/數據存儲中的全局名稱空間的概念?
我有一個多租戶應用程序,其中每個學校是租戶。每所學校都可以有很多老師。所以我有兩種實體,一種是「學校」,二種是「教師」,每個老師都有一所父母學校。我使用對象化的@Parent註釋來建立學校與教師之間的關係。如何跨所有租戶過濾器查詢忽略每個租戶(即與WILDCARD名稱空間的查詢)的名稱空間在物化
現在我想統計我的管理門戶在各學校的教師數量。是否存在對象化/數據存儲中的全局名稱空間的概念?
您不能在一個查詢中混用命名空間或遍歷所有命名空間。據我所知,你沒有選擇,但爲每個命名空間運行多個查詢。
解決方法可能是 - 維護一個「admin」命名空間並跟蹤每所學校的教師數量和/或所有學校數量。這意味着,當您在任何名稱空間中插入/刪除教師實體時,您將更新「admin」命名空間中的計數。
我已經像你說的那樣在每個命名空間上運行查詢了。但我不希望這樣,因爲有超過100所學校(租戶),它可能會增長,所以首先通過一個查詢獲得所有的命名空間,然後在給定的命名空間對教師進行查詢,我不認爲這是一個好方法。對於100個租戶,在最壞的情況下,如果我沒有錯,我需要做1 + 100個查詢。所以應該有一個更好的方法來做這件事,比如通配符命名空間 – Baqir
我認爲這會挫敗多租戶的目的並增加風險的數據泄漏。想象一下如果你不小心開始向另一個顯示一個租戶的數據會發生什麼。再說一遍,如果你只需要一些基本的統計數據,比如老師數量,你應該考慮我建議的解決方法。 –
管理門戶需要顯示哪些需要這些查詢的許多其他事情。計數就是一個例子。 – Baqir