http://www.blogjava.net/zzzlyr/articles/343234.html
package nl.ru.cmbi.pdbeter.core.model.domain;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.ManyToMany;
import lombok.AccessLevel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import nl.ru.cmbi.pdbeter.core.model.enums.Enum_WhifFunction;
import org.hibernate.annotations.NaturalId;
import org.hibernate.validator.NotEmpty;
@Entity
@Data
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@EqualsAndHashCode(callSuper = false, of = { "whifFunction" })
@SuppressWarnings("PMD.UnusedPrivateField")
public class WhifFunction extends DomainObject implements Serializable {
@NaturalId
@NotEmpty
@Enumerated(EnumType.STRING)
private Enum_WhifFunction whifFunction;
@ManyToMany(mappedBy = "whifFunctionSet", cascade = CascadeType.ALL)
private Set<LoggedErrorWhif> loggedErrorWhifSet = new HashSet<LoggedErrorWhif>();
public WhifFunction(Enum_WhifFunction whifFunction) {
if (whifFunction == null) {
throw new IllegalStateException("WhifFunction is null");
} else {
this.whifFunction = whifFunction;
}
}
@Override
public String toString() {
return whifFunction.toString();
}
}