2014-10-27 50 views
0

我加入了總共4個表格並創建了一個視圖。在休眠模式下使用視圖

表的詳細情況如下,

System: 
Integer SystemId; 
String Systemvalue; 

Client: 
Integer ClientId; 
String login_username 

ClientSystem: 
Integer ClientSystemId; 
Integer SystemId; 

Login: 
String login_username; 

加入上述4個表(左連接和右連接)我創建的視圖。該視圖並不是要相同地識別任何行(它沒有任何主鍵),因爲此查詢由左和右連接組成,其中一些列將爲空。

但hibernate期望每個表的主鍵。

我嘗試以下方法:

  1. 製造複合主鍵,考慮到圖的每一列。
  2. 受審序列

通過以下1的方法,我所面臨的問題,每當我試着查詢我用來獲取元組等於當我手動運行該查詢其將返回的記錄數數在工作臺中,但所有對象都將爲空。

我想過嘗試第二種方法,但谷歌搜索之後才知道mysql不支持序列,因此唯一留給我的是編寫存儲過程爲每個元組生成唯一編號。

請讓我知道要遵循哪種方法?

回答

0

我組合了LoginUsername和SystemId(如果null爲null,那麼它爲0),這樣它將成爲視圖的主鍵。

現在問題已解決。