X-Git-Url: https://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fit%2Fhmp-testclasses-annotationscanning%2Fsrc%2Fmain%2Fjava%2Fnet%2Fjava%2Fexamples%2Fhmp%2Fmodel%2Fdomain%2FBaseEntity.java;fp=src%2Fit%2Fhmp-testclasses-annotationscanning%2Fsrc%2Fmain%2Fjava%2Fnet%2Fjava%2Fexamples%2Fhmp%2Fmodel%2Fdomain%2FBaseEntity.java;h=6d64c378686a80dbd7163cdf16fc4a99e25b9813;hp=0000000000000000000000000000000000000000;hb=ef0947b306d9515d6af6dbc1fdfd675efcd9eca4;hpb=653ab8054c9232471c3c1192d5074010f378a067 diff --git a/src/it/hmp-testclasses-annotationscanning/src/main/java/net/java/examples/hmp/model/domain/BaseEntity.java b/src/it/hmp-testclasses-annotationscanning/src/main/java/net/java/examples/hmp/model/domain/BaseEntity.java new file mode 100644 index 00000000..6d64c378 --- /dev/null +++ b/src/it/hmp-testclasses-annotationscanning/src/main/java/net/java/examples/hmp/model/domain/BaseEntity.java @@ -0,0 +1,61 @@ +package net.java.examples.hmp.model.domain; + +import java.io.Serializable; + +import org.hibernate.proxy.HibernateProxy; + +public abstract class BaseEntity implements IBaseEntity, Serializable { + + private static final long serialVersionUID = -5828097391861473323L; + + /** + * {@inheritDoc} + */ + @Override + public int hashCode() { + int result; + if (getId() == null) { + result = super.hashCode(); + } else { + final int prime = 31; + result = 1; + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); + } + return result; + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + + Class otherClass = null; + if (obj instanceof HibernateProxy) { + otherClass = ((HibernateProxy) obj).getHibernateLazyInitializer().getPersistentClass(); + } else { + otherClass = obj.getClass(); + } + if (getClass() != otherClass) { + return false; + } + + return compareEqualityWithThisInstance((BaseEntity) obj); + } + + private boolean compareEqualityWithThisInstance(BaseEntity otherEntity) { + if (getId() != null) { + return getId().equals(otherEntity.getId()); + } + + return false; + } + + @Override + public String toString() { + return this.getClass().getName() + "[id=" + getId() + "]"; + } +}