Tenho uma entidade que está anotada com unique = true…portanto esse campo não pode ser duplicado.
Ao inserir um objeto com um nome existente igualzinho ele dá erro…só que ao inserir um nome igual só que com espaços diferente ele não identifica como sendo duplicado e deixa gravar no banco…
Outro problema é que eu não consigo pegar a excessão ConstrintViolation, pq???Alguém tem alguma solução???
Já encontrei tb mais ninguém deu uma solução legal…
Só dizem que esse exception não dá pra pegar com try catch …
Fiz uma solução bizarra aqui…carrego uma lista com objetos do banco, do um replaceAll e tiro os espaços, tiro os espação do objeto a ser inserido e comparo com equalsIgnoreCase(), mais é muito tosco…queria uma solução melhor…
Mas acredito que o problema seja este, para nos é amesma coisa, mas a nivel de abstração são coisas diferentes !!!
Mas tenta arrumar direitinho o metodo toString(), acho que assim resolve !!!
[quote]Então mesmo usando o trim não resolve o problema…pq se tiver espaços no meio tb não dá certo…
e outra coisa como eu pego a exception ConstraintViolation…??? [/quote]
Sim, no meio não dá. Mas você pode criar algo para remover os espaços em branco. Para pegar a exception use um try catch.
[quote=fiaux][quote]Então mesmo usando o trim não resolve o problema…pq se tiver espaços no meio tb não dá certo…
e outra coisa como eu pego a exception ConstraintViolation…??? [/quote]
Sim, no meio não dá. Mas você pode criar algo para remover os espaços em branco. Para pegar a exception use um try catch.[/quote]
[quote=fiaux][quote]Então mesmo usando o trim não resolve o problema…pq se tiver espaços no meio tb não dá certo…
e outra coisa como eu pego a exception ConstraintViolation…??? [/quote]
Sim, no meio não dá. Mas você pode criar algo para remover os espaços em branco. Para pegar a exception use um try catch.[/quote]