Pivot Tabel com Java

Senhores,

Imagine um select que me traga alguns campos (A, B, C, D).

Quero criar uma Pivot Table que agrupe os dados pelas colunas que eu quiser (eixos X e Y). Algo como:

Eu defino que quero que os dados de A sejam o eixo Y e quero agrupar pelo campo B.

Um select que me retorne os dados:

[code]| A | B | C | D |

| 1 | XYZ | 10 | 11 |
| 1 | ABC | 55 | 11 |
| 2 | XYZ | 99 | 9 |
| 2 | ABC | 88 | 88 |[/code]

Me gerasse uma tabela assim:

[code] | XYZ | ABC |
| A | C | D | C | D |

| 1 | 10 | 11 | 55 | 11 |
| 2 | 99 | 9 | 88 | 88 |[/code]

Sacaram?

Alguém conhece uma API para isso ou vou ter que criar uma?