2011-06-28 50 views
0

我在思考在不同國家使用城市,地區和郵政編碼的「最佳」方式。 (應用應該在不同的語言中使用)什麼是模擬城市,地區和郵政編碼的好方法?

我的第一個猜測是:

class City { 
    String name 
    String region 
    static hasMany = [postcodes:PostCode] 
    static belongsTo = [region:Region] 
    static constraints = { 
     name size:2..100 
     region nullable:true 
    } 
} 

現在的問題是:

  • 可以在一個城市屬於一個以上的區域? (States /Bundesländer/ Communities/...)
  • 由於所有這些都是最終的,我沒有想過不使用數據庫並將其放入枚舉中的新城市,地區或郵政編碼!
  • 由於我想分開不同國家的數據,我必須將其添加到城市。我看了一下multiTenant插件,但我不太確定這是不是很多!?

可能有人已經處理過此事,並可以分享一些見解。

非常感謝 塞巴斯蒂安

回答

0

可以在一個城市屬於不止一個 區域? (States /Bundesländer/ Communities/...)

這取決於你。你沒有明確說明一個地區是什麼。一個地區可能是x城市或西歐的郊區,取決於你如何定義它。如果一個地區不是由州界限定的,那麼一個城市可能屬於多個地區。例如,「巴黎」可以包含在「法國」地區和「西歐」地區。

一個簡單的解決方案是將區域限制爲狀態邊界,但這可能不是一個好的解決方案,具體取決於您需要的數據。你可以創建一個字符串數組來存儲你的區域,但是如果你不說什麼數據是需要的,就很難選擇一個替代方案。根據你寫的內容,我認爲一個單獨的「字符串國家」是合適的,因爲你可以按國家分類,而你的地區可以保持原樣。

因爲所有的這是最後的,沒有新的 城市,地區或郵政編碼我想 關於不使用數據庫,並把它 到枚舉!?

你可以這樣做,但在數據庫中管理起來要容易得多。

當我想爲 不同的國家不同的數據我有這個 添加到一個城市。我看了一下 multiTenant-plugin,但是我不太確定 這是不是很多!?

我沒有使用這個插件,所以我不能幫你那裏,但如果你只是想通過國家數據分離,然後加入一國領域和排序將是非常簡單的。

+0

關於沒有新的城市:你不能確定(新的國家,城市未來可能會出現) –

相關問題