diff options
Diffstat (limited to 'src/main/java/nu/xss/jpa/entity')
-rw-r--r-- | src/main/java/nu/xss/jpa/entity/AbstractAutoIdEntity.java | 28 | ||||
-rw-r--r-- | src/main/java/nu/xss/jpa/entity/AbstractEntity.java | 54 | ||||
-rw-r--r-- | src/main/java/nu/xss/jpa/entity/AbstractIdEntity.java | 25 | ||||
-rw-r--r-- | src/main/java/nu/xss/jpa/entity/Entity.java | 5 | ||||
-rw-r--r-- | src/main/java/nu/xss/jpa/entity/TypedEntity.java | 11 |
5 files changed, 118 insertions, 5 deletions
diff --git a/src/main/java/nu/xss/jpa/entity/AbstractAutoIdEntity.java b/src/main/java/nu/xss/jpa/entity/AbstractAutoIdEntity.java new file mode 100644 index 0000000..ee5fd40 --- /dev/null +++ b/src/main/java/nu/xss/jpa/entity/AbstractAutoIdEntity.java @@ -0,0 +1,28 @@ +package nu.xss.jpa.entity; + +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; + +@MappedSuperclass +public abstract class AbstractAutoIdEntity<K> extends AbstractEntity<K> { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue + private K id; + + @Override + public K getId() { + return id; + } + + @Override + public void setId(K id) { + this.id = id; + } + + + +} diff --git a/src/main/java/nu/xss/jpa/entity/AbstractEntity.java b/src/main/java/nu/xss/jpa/entity/AbstractEntity.java new file mode 100644 index 0000000..5a4f468 --- /dev/null +++ b/src/main/java/nu/xss/jpa/entity/AbstractEntity.java @@ -0,0 +1,54 @@ +package nu.xss.jpa.entity; + +import javax.persistence.MappedSuperclass; + +@MappedSuperclass +public abstract class AbstractEntity<K> implements TypedEntity<K> { + + private static final long serialVersionUID = 1L; + + public AbstractEntity() { + } + + public AbstractEntity(K id) { + this.setId(id); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + (this.getId() == null ? 0 : this.getId().hashCode()); + return result; + } + + @Override + public boolean equals(final Object obj) { + + if (this == obj) { + return true; + } + + if (obj == null) { + return false; + } + + if (this.getClass() != obj.getClass()) { + return false; + } + + final AbstractEntity<?> other = (AbstractEntity<?>) obj; + + if (this.getId() == null) { + if (other.getId() != null) { + return false; + } + } else if (!this.getId().equals(other.getId())) { + return false; + } + + return true; + } + +} diff --git a/src/main/java/nu/xss/jpa/entity/AbstractIdEntity.java b/src/main/java/nu/xss/jpa/entity/AbstractIdEntity.java new file mode 100644 index 0000000..7e1e203 --- /dev/null +++ b/src/main/java/nu/xss/jpa/entity/AbstractIdEntity.java @@ -0,0 +1,25 @@ +package nu.xss.jpa.entity; + +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; + +@MappedSuperclass +public abstract class AbstractIdEntity<K> extends AbstractEntity<K> { + + private static final long serialVersionUID = 1L; + + @Id + private K id; + + @Override + public K getId() { + return id; + } + + @Override + public void setId(K id) { + this.id = id; + } + + +} diff --git a/src/main/java/nu/xss/jpa/entity/Entity.java b/src/main/java/nu/xss/jpa/entity/Entity.java deleted file mode 100644 index 1943e80..0000000 --- a/src/main/java/nu/xss/jpa/entity/Entity.java +++ /dev/null @@ -1,5 +0,0 @@ -package nu.xss.jpa.entity; - -public class Entity { - -} diff --git a/src/main/java/nu/xss/jpa/entity/TypedEntity.java b/src/main/java/nu/xss/jpa/entity/TypedEntity.java new file mode 100644 index 0000000..d08ff0f --- /dev/null +++ b/src/main/java/nu/xss/jpa/entity/TypedEntity.java @@ -0,0 +1,11 @@ +package nu.xss.jpa.entity; + +import java.io.Serializable; + +public interface TypedEntity<K> extends Serializable { + + K getId(); + + void setId(K id); + +} |