batching 3 different results together can only be done if they have the same fieldset, so in theory 'union' can be used (in SQL).
Though, as the resultsets for all 3 entities are different I think, you have to have 3 resultsets. In adapter, you can win some speed by opening the connection manually, then fetch the 3 entities, then close the connection manually (important).
In selfservicing you have to fetch them one by one, though through connection pooling you lose 2 times 20ms.