package org.tests.singleTableInheritance.model;
import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
@Table(name = "zones")
public class Zone {
@Id
@Column(name = "id")
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public int hashCode() {
if (getId() != null) return getId().hashCode();
else return super.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Zone) {
return ((Zone) obj).getId().equals(getId());
} else {
return false;
}
}
}