Datatable colunas dinamicas

Olá pessoal.

Tenho uma Lista de objetos (List) que é retornado de um select.

Só que esse select é dinâmico, então queria saber como faço para colocar em um datatable?

Como fica a columns do datatable do primefaces??

Minha lista está assim, como faço para criar um header e adiciona as colunas dessa lista de objetos?:

[0] Object[3]

           [0] " Teste 1"
           [1] " Teste 2"          
           [2] " Teste 3"

[1] Object[3]

           [0] " Teste 1"
           [1] " Teste 2"          
           [2] " Teste 3"

[2] Object[3]

           [0] " Teste 1"
           [1] " Teste 2"          
           [2] " Teste 3"