2011-02-17 108 views
2

在一個web項目中,我有一個複雜的表單來構建動態查詢。當我寫這段代碼時,我只有JPA 1(沒有Criteria API),因此我動態地構建了查詢字符串(但仍使用綁定參數)。迄今爲止,這工作得很好。現在我想保存查詢(不是結果),以便用戶稍後可以重新運行相同的查詢。存儲動態JPA查詢

Idealisticaly,我只是將查詢字符串存儲在數據庫中。在構建查詢時,我可以確保只使用ID(不是「where user =:user」而是「user.id =:userid」)。

由於參數的輸入來自用戶,我喜歡使用查詢參數,以避免'little bobby tables'

是否有一個簡單的方法來做到這一點?

回答

0

我不知道爲什麼這是一個問題,因爲我沒有理由讓你製作一個表來存儲查詢。 棘手的部分必須在 1)從某處獲取可用參數。如果需要,也許你可以將它存儲在參數表中。 2)決定設置哪些參數。只需在查詢查詢中查找所有參數,看看是否有可用的參數並將其設置在查詢中。

我錯過了什麼?

+0

你不會錯過什麼。我只是希望我不需要自己實現。它不是火箭科學,但需要存儲參數和位置。類型將總是字符串。 – bert 2011-03-31 06:47:41