Tenho um campo “nome” em uma tabela.
Não queria deixar que cadastrassem mais de um mesmo nome…
Eu pensei que colocar unique=true fosse suficiente.
@NotEmpty(message="Insira um nome para o projeto.")
@Length(max=45)
@Column(name = "NOME", nullable = false, unique = true, length = 45)
public String getNome() {
return nome;
Devo fazer algum método pesquisando se ha o ‘nome’ cadastrado antes de inserir, ou existe algum mecanismo no Hibernate que facilite isso?
Do jeito que coloquei, simplesmente é ignorado e cadastros varios ´nomes´ iguais !
Pode ser, por exemplo, que a tabela do banco onde está esse campo não esteja corretamente cadastrada.
Cheque se há algum constraint nessa tabela.
Quem checa a unicidade não é o Hibernate e sim o banco, se não me engano, até porque o Hibernate não tem o compromisso de sempre manter TODOS os registros do banco em memória para ele mesmo checar a unicidade.
Bom, a minha tabela é criada a partir do objeto !
Não sou eu que crio a tabela…
Eu pensei que na hora de inserir, o Hibernate verificava e neste caso daria alguma exceção.