Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema com EmbeddedId na classe Categoria

Estou com problema na classe Categoria, na anotação @EmbbedId é gerado o erro: Embedded ID class should include method definitions for equals() and hashcode()

Codigo da Classe Categoria

@Entity @Table(name = "categorias") public class Categoria {

@EmbeddedId
private CategoriaId id;

public Categoria() {

}

public Categoria(String nome) {
    this.id = new CategoriaId(nome, "xpto");
}

public String getNome() {
    return this.id.getNome();
}

Codigo Classe CategoriaId

@Embeddable public class CategoriaId implements Serializable {

private String nome;
private String tipo;

public CategoriaId(){
}

public CategoriaId(String nome, String tipo) {
    this.nome = nome;
    this.tipo = tipo;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getTipo() {
    return tipo;
}

public void setTipo(String tipo) {
    this.tipo = tipo;
}
1 resposta
solução!

Oi Guilherme,

Crie os métodos equals e hashCode na classe CategoriaId. Na verdade utilize o atalho da IDE para a criação desses métodos, escolhendo os 2 atributos para serem utilizados.