1

我有兩個具有公共主鍵的表。現在我想從這兩個表中獲取數據,並使用該主鍵在單個視圖中顯示。Grails - 單個域類中的多個表

如何我可以在單個域類中獲取兩個表數據?我如何指定映射?

對於實例

表-A和表B均爲單模式ABC

class X { 
    int id 
    String name 

    static mapping = { 
     table name: "Table-A", schema: "ABC" 
     columns { 
     name column:'name' 
     } 
    } 
} 

現在我想從表-B地址,以便我的觀點看起來像下面

ID NAME ADDRESS 
2 HSJHD 23 X-Street Washington USA 

如何獲得單個域類中的兩個表數據?

回答

2

這聽起來像一個外鍵關係,則只需在每個對象(提供一對一的關係)的使用屬於關聯。 http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html

否則,您可以在您的數據庫上創建數據庫視圖,然後創建一個域對象以匹配該視圖。基於數據庫視圖創建域與基於表創建域相同。

+0

我試過BelongsTO,但它不起作用。由於我有遺留數據庫並且沒有更改數據庫的權限,我該怎麼做?什麼是在Grails中加入表格?你能把解決方案放在上面的代碼上嗎? – element40 2011-12-31 16:41:24

+0

我不知道你得到了什麼問題,所以我不知道如何發佈解決方案,而不是建議這樣做的方法。 – Joseph 2012-01-03 19:32:29

0

幾個選項

  1. 只需使用HQL來查詢並加入主鍵

  2. 創建一個從兩個表視圖,新表映射到視圖

  3. 使用屬於,當你訪問一個對象,然後訪問另一個

+0

爲belongsTO放置代碼示例。我無法弄清楚。這裏沒有博客文章。自從出現錯誤以來,它確實很難 – element40 2012-01-02 04:40:12