考虑以下实体:
package br.com.investors.domain.endereco;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
import com.google.common.collect.ComparisonChain;
import org.hibernate.validator.constraints.NotBlank;
import javax.persistence.*;
import java.io.Serializable;
import static com.google.common.base.Preconditions.checkArgument;
import static javax.persistence.GenerationType.SEQUENCE;
@Entity
public class Regiao implements Serializable, Comparable<Regiao> {
@Id
@GeneratedValue(strategy = SEQUENCE)
private Long id;
@Version
private Long version;
@NotBlank
@Column(length = 100, unique = true)
private String nome = "";
Regiao() {}
public Regiao(String nome) {
checkArgument(!Strings.isNullOrEmpty(nome), "Nome não pode ser vazio");
this.nome = nome;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Regiao) {
Regiao …
Run Code Online (Sandbox Code Playgroud)