2013-05-28 249 views
0

我是
新手我試圖插入數據到表中,其中一些來自另一個表。以下是該場景。OpenJPA從另一個表插入到一個表中的數據

Table1: id, app_name, app_version, app_active 

Table2: id, app_name, app_version, dev_name, dev_Lastname, dev_shortname, 

Pojo1 maps fields to column of table1 
Pojo2 maps fields to column of table2 

查詢:

insert into table2 ("dev_name","dev_lastname","dev_shortname") select t1.app_name, t1.app_version from Table1 t1 where t1.app_name = ? 

我不知道該怎麼辦好使用Openjpa,以及如何在兩個POJO的這些領域相互映射此查詢。 如果我使用Query object那麼pojos?他們會來用嗎?我的意思是我需要做transaction.save ??

任何示例代碼的幫助表示讚賞。

回答

1

您的查詢在JPA處理對象關係時直接在數據庫中操作數據。

林不知道你想解決什麼問題,但你可以閱讀Pojo1將其轉換爲Pojo2對象,你只需保存?

編輯: 在你的Java應用程序首先從實體管理器檢索你的Pojo1與一些查詢。 然後用你想從Pojo1獲得的字段構造相應的Pojo2對象。然後使用你的新Pojo2對象來實現entityManager.persist。

這是相當複雜的執行你顯示可以在一行sql語句中進行。

+0

我必須插入數據到表2中,但需要從表1中選擇3列。你是什麼意思將pojo1轉換爲pojo2對象。你可以舉一些例子嗎?謝謝 –

+0

感謝Dan,這讓我想起了它,但我認爲它會很慢,並且當我必須插入一堆數據時,運行for循環對於匹配每個條目都是很繁瑣的。你能提出一些解決方法嗎? –

+0

請參閱http://stackoverflow.com/questions/6040969/how-can-i-move-an-object-from-one-table-to-another-using-openjpa?rq=1 – Dan

相關問題