2011-01-05 144 views
2

是否可以從某些表(實體)中取出某些列並使用JPA,Hibernate將它們存儲到另一個表的列中?JPA將兩個或多個表合併到另一個表中

例如;
表1:ID,姓名,...
表2:身份證,學校,城市,...

表3:unqId,姓名,學校,城市

選擇從表1和表2並插入到Table3中。

或者,也可以從Table1和Table2中選擇結果作爲Table3實體。

謝謝。

回答

1

是的,如果Table1Table2有一些關係,或者說可以連接。然後你可以這樣在SQL中執行插入查詢,

insert into Table3 (....) select .... from Table1 inner join Table2.. 

現在,你將如何使用JPA實現相同。

  1. 使用NamedQuery或任何你認爲是獲取所需的POJO更好
  2. 設置使用結果在手Table3性能
  3. 堅持Table3

如果Table1Table2是不可加入,那麼你需要分別查詢兩者。在JPA中執行相同的步驟2和3。在SQL中,可以使用存儲過程。

+0

感謝您的回答,我用第一個選項使用了本機SQL。 – 2011-01-05 13:31:49

+0

@ykartal:很高興聽到這個消息。不用謝。 – 2011-01-06 02:43:25