簡體   English   中英

如何在Play JPA中保存對象列表

[英]How to save a List of objects in Play JPA

我有一個LinkedBlockingQueue,我想將所有元素保存到數據庫中。 我知道我可以一個一個地保存它:

ObjectModel om = new ObjectModel();
om.save();

但是,這意味着我必須循環遍歷所有元素並為每個元素建立新連接。 我可以一次插入整個列表嗎?

在play 1.x中,當服務器收到請求時,play / jpa將向您的數據庫打開一個事務。 如果出現任何問題,此事務將自動回滾,否則在響應發送到客戶端時會自動提交。

因此,即使您遍歷JPA實體並一個接一個地調用它們上的save(),它們也將在同一事務中使用相同的連接執行。

我認為它在Play 2中的工作方式相同,但老實說,我不知道。

簡單的答案不會是NO。 線下的某個人必須對所有單個對象執行插入查詢。

您不必為每個插入創建新連接。 您應該在每次迭代中在同一連接上創建連接和觸發插入。

也許這個問題會讓你更進一步。 如果您知道如何在底層數據庫上執行您想要的操作,我還可以使用本機查詢(您可以通過EntityManager創建)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM