package net.dev123.entity; import java.io.Serializable; import net.dev123.commons.ServiceProvider; public abstract class BaseEntity implements Serializable { /** serialVersionUID */ private static final long serialVersionUID = 988287172603888683L; /** 服务提供商 */ protected ServiceProvider serviceProvider; /** 服务提供商代码,用于序列化时保存SP,枚举类型在序列化时丢失 */ protected int sp; public ServiceProvider getServiceProvider() { if (sp > 0 && serviceProvider == null) { serviceProvider = ServiceProvider.getServiceProvider(sp); } return serviceProvider; } public void setServiceProvider(ServiceProvider serviceProvider) { this.serviceProvider = serviceProvider; if (serviceProvider != null) { this.sp = serviceProvider.getServiceProviderNo(); } } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + sp; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof BaseEntity)) { return false; } BaseEntity other = (BaseEntity) obj; if (sp != other.sp) return false; return true; } }