package ru.serega6531.packmate.model; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.ToString; import org.hibernate.Hibernate; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import ru.serega6531.packmate.model.enums.PatternActionType; import ru.serega6531.packmate.model.enums.PatternDirectionType; import ru.serega6531.packmate.model.enums.PatternSearchType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.util.Objects; @Getter @Setter @RequiredArgsConstructor @ToString @Entity @GenericGenerator( name = "pattern_generator", strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator", parameters = { @Parameter(name = "sequence_name", value = "pattern_seq"), @Parameter(name = "initial_value", value = "1"), @Parameter(name = "increment_size", value = "1") } ) public class Pattern { @Id @GeneratedValue(generator = "pattern_generator") private Integer id; private boolean enabled; private String name; private String value; private String color; // для вставки в css private PatternSearchType searchType; private PatternDirectionType directionType; private PatternActionType actionType; private Integer serviceId; private long searchStartTimestamp; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false; Pattern pattern = (Pattern) o; return id != null && Objects.equals(id, pattern.id); } @Override public int hashCode() { return getClass().hashCode(); } }