标签:
UUID优劣毋庸多说,如何在实体中进行定义
定义在实体公共类中BaseEntity.java
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.domain.Persistable;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 实体公共类,所有的实体都继承该对象
* @author youway
*/
@MappedSuperclass
public abstract class BaseEntity implements Persistable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String id;
public String getId() {
return id;
}
protected void setId(final String id) {
this.id = id;
}
public boolean isNew() {
return this.id == null;
}
/**
* 覆盖toString方法,目的显示所有JavaBean的属性值,省略写很多的getXxx的方法
*/
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.MULTI_LINE_STYLE);
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!getClass().equals(obj.getClass())) {
return false;
}
BaseEntity rhs = (BaseEntity) obj;
return this.id == null ? false : this.id.equals(rhs.id);
}
}
标签: