Przez buforowanie zapytań miałem na myśli CachedSqlEntityProcessor . Preferuję scalone rozwiązanie jak w innym pytaniu MySQL GROUP_CONCAT zduplikowane wpisy . Ale CachedSqlEntityProcessor też pomoże, jeśli p_id powtarza się w kółko w wynikach zapytania głównego publication_authors , a Ty mniej przejmujesz się dodatkowym użyciem pamięci.
Aktualizacja:Wygląda na to, że masz rozwiązane dwa inne pytania, prawdopodobnie możesz iść w obie strony, zamieszczam krótki przykład/wskaźnik, jak prosiłeś i tak na wypadek, gdyby inni uznali, że jest to przydatne
<entity name="x" query="select * from x">
<entity name="y" query="select * from y" processor="CachedSqlEntityProcessor" where="xid=x.id">
</entity>
<entity>
Ten przykład został zaczerpnięty z wiki . To nadal będzie uruchamiać każde zapytanie „wybierz * z y, gdzie xid=id” na identyfikator z zapytania głównego „wybierz * z x”. Ale nie wyśle wielokrotnie tego samego zapytania.