Eu sempre acreditei que era obrigatório o uso de getters e setters para uma entidade JPA.
Até o dia que me falaram que não era necessário, pior que testei e deu certo.
Alguém sabe como o JPA injeta os valores nos campos?
Só pode ser via Reflection, certo?
No Hibernate (antes de existir o JPA) já era assim ou ele fazia o uso de seus getters e setters?
Agora que você sabe que não é obrigatório, por favor pense duas vezes antes de criar getters e setters para todos os atributos de sua entidade - e viva o encapsulamento!