quando o hibernate fizer a persistência dos dados ele vai saber pegar o valor correto da enumeration ( no caso do TipoPessoa ‘F’ ou ‘J’ ) para gravar no banco ou ele vai gravar a constante ?
se tiver errado, alguém pode me ajudar, dizendo qual é a melhor forma de fazer isto?
eu devo colocar na classe de persistencia ou na classe de negócio?
Por padrão, hibernate vai usar a seleção ordinal - 0 para Segunda, 1 para Terça, e assim por diante. Mas você pode alterar isso pelas propriedades da annotations.
Não kra, eu sempre deixei EnumeratedType.ORDINAL. Apesar de ter mencionado no post anterior, não dá pra fazer exatamente o que você quer com as annotations, porque os únicos tipos possíveis são EnumType.ORDINAL e EnumType.STRING - o segundo usa o proprio nome da constante enum para diferenciar cada campo.
enum TipoPessoa { PessoaFisica, PessoaJuridica }
// vai persistir esse campo como "PessoaFisica" ou "PessoaJuridica"
@Enumerated( EnumType.STRING )
private TipoPessoa tipo;
Isso que você está fazendo, eu normalmente faço usando herança, de PF/PJ para Pessoa…
Seria possível um exemplo de persistência de um tipo enumerado ???
exemplo entidade com propriedade enumerada …
exemplo de teste persistindo instâncias da entidade com tipo enumerado (CRUD). Para que possamos ver o comportamento de persistência e recuperação desses objetos.