Hibernate, atributos primitivos ou wrappers?

Surgiu uma duvida aqui, a respeito de usar atributos primitivos ou wrappers com o Hibernate. Dando uma olhada na documentação do Hiberbate, ele recomenda:

Porém eu não encontrei uma explicação pra isso, não custa mais pro java ter que ficar criando objetos do que usar os tipos primitivos? Nos testes sempre tenho que criar Longs/Integers ou usar autobox ao inves de usar os primitivos.

Alguem sabe o pq dessa recomendação? Se realmente traz algum benefício e se usar primitivos traz alguma desvantagem?

Acredito que o motivo para isso é o Caso em que o Campo no BD possa ser nulo. Nesse caso, o campo nulo pode ser retornado sem problemas, de forma que não precise atribuir a ele um valor default para resolver o problema…

Hm faz sentido, mas no caso de chaves primarias elas nunca vao ser null, e mesmo assim é recomendado que se use wrappers ao inves de primitivos :confused: