我使用春季數(shù)據(jù)來映射我的實(shí)體和存儲(chǔ)庫。映射非常簡單:public class Car { Set<Part> parts;}public class Part {} 我使用我的彈簧數(shù)據(jù)存儲(chǔ)庫的findAllByIds(Iterable)接口。它以以下形式生成一個(gè)不錯(cuò)的sql:select from CAR where id in (?, ?, ?, ?)對于每輛車,它只執(zhí)行一個(gè)SQL。Select from Part where car_id = ?當(dāng)相關(guān)部件被獲取時(shí),我的問題就開始了。令人驚訝的是,它正在一個(gè)接一個(gè)地獲取它們。在 spring data jdbc 中,有沒有相當(dāng)于在休眠狀態(tài)下進(jìn)行批處理獲取的東西?如果 anser 是負(fù)數(shù),是否有一些相對簡單的方法來實(shí)現(xiàn)它?
1 回答

大話西游666
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
不幸的是,答案是現(xiàn)在對這兩個(gè)問題的簡短回答是“否”。
如果要為選擇實(shí)現(xiàn)批處理,您需要做的就是想出
a) 實(shí)質(zhì)上實(shí)現(xiàn)了所有 CRUD 功能的新實(shí)現(xiàn),和/或DataAccessStrategy
b) 將行轉(zhuǎn)換為實(shí)體的新項(xiàng)。EntityRowMapper
ResultSet
如果要從開始執(zhí)行不同的 SQL 語句,則需要第一個(gè)。第二個(gè),如果你認(rèn)為改變后續(xù)的SQL就足夠了。
您可能希望跟蹤有關(guān)批處理的問題,或者如果您要查找的確切變體不存在,請隨時(shí)創(chuàng)建另一個(gè)變體。
添加回答
舉報(bào)
0/150
提交
取消