Distinct Hibernate

Pessoal quando eu uso o distinct da seguinte forma, como o hibernate sabe qual campo eu estou dando o distinct?

Select distinct p from Pessoa p

nesse caso eu imagino que ele irá fazer distinct em cima de todos os campos. Ele vai trazer todo mundo. O.o

Eu fiz um exemplo aqui e olha oq ele produziu no console:
select distinct p from Person p
Hibernate: select distinct person0_.id as id0_, person0_.address_id as address4_0_, person0_.age as age0_, person0_.name as name0_ from Person person0_