JPA Validation em herança não atualiza componente messages (primefaces)

0 respostas
jsfjpajava
N

Seguinte, tenho duas classes, uma (superclasse) chamada titulo e uma (subclasse) chamada obra. Vou simplifica-las aqui, então ignorem annotations básicas etc.

@Entity
   @Table(name = "titulo")
   @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
   public class Titulo {
    @NotNull(message = "Valor não deve ser nulo.")
    String nome;

}

public class Obra extends Titulo{
    @NotNull(message = "Valor não deve ser nulo.")
    String isbn;

}

No meu managed bean, eu declarei e instanciei um objeto do tipo Obra e possui todos os atributos das duas classes. O problema é o seguinte, no formulário jsf ao processar o submit, e mostrar a mensagem de erro quando ocorre funciona normalmente para o campo na classe mãe. Entretanto, o JPA Validation não mostra a mensagem de erro na página jsf dos atributos da subclasse Obra. O Validation funciona normalmente, e é apresentado no console da seguinte forma:

Advertência:   /view/titles/form-exemplar.xhtml @120,74 actionListener="#{obraBean.salvar()}": javax.validation.ConstraintViolationException: Validation failed for classes [br.ueg.biblio.model.Obra] during persist time for groups [javax.validation.groups.Default, ]

List of constraint violations:[

ConstraintViolationImpl{interpolatedMessage=Uma editora deve ser definida., propertyPath=editora, rootBeanClass=class br.ueg.biblio.model.Obra, messageTemplate=Uma editora deve ser definida.}

ConstraintViolationImpl{interpolatedMessage=Idioma de ser definido., propertyPath=idioma, rootBeanClass=class br.ueg.biblio.model.Obra, messageTemplate=Idioma de ser definido.}

]

Eu não postei o código completo por ser muito extenso, acredito que o exemplo já é suficiente. Caso eu preencha os campos, funciona normal, somente a mensagem que não é mostrada na página.

Criado 11 de setembro de 2016
Respostas 0
Participantes 1