package kr.debop4j.data.mapping.model.annotated.unionSubclass; import com.google.common.base.Objects; import kr.debop4j.core.tools.HashTool; import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; /** * org.annotated.mapping.domain.model.subclass.UnionSubclass_BankAccount * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 12. 12. 4. */ @Entity @Table(name = "JPA_UNION_SUBCLASS_BANK_ACCOUNT") @DynamicInsert @DynamicUpdate @Getter @Setter public class UnionSubclass_BankAccount extends UnionSubclass_BillingDetails { private static final long serialVersionUID = 6159765179966313199L; @Column(name = "BANK_ACCOUNT", nullable = false) private String account; @Column(name = "BANK_NAME", nullable = false) private String bankname; @Column(name = "BANK_SWIFT") private String swift; @Override public int hashCode() { if (isPersisted()) return super.hashCode(); return HashTool.compute(super.hashCode(), account, bankname); } @Override protected Objects.ToStringHelper buildStringHelper() { return super.buildStringHelper() .add("account", account) .add("bankname", bankname) .add("swift", swift); } }