
de.tsl2.nano.service.util.AbstractBaseEntity Maven / Gradle / Ivy
/*
* File: $HeadURL$
* Id : $Id$
*
* created by: Thomas Schneider, Thomas Schneider
* created on: Aug 18, 2010
*
* Copyright: (c) Thomas Schneider 2010, all rights reserved
*/
package de.tsl2.nano.service.util;
import java.io.Serializable;
import java.util.UUID;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
/**
* class to be used as base for all ejb entities.
*
* @author Thomas Schneider, Thomas Schneider
* @version $Revision$
*/
@MappedSuperclass
public abstract class AbstractBaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private final String id;
/**
* constructor
*/
public AbstractBaseEntity() {
this.id = UUID.randomUUID().toString();
}
/**
* {@inheritDoc}
*/
@Override
public int hashCode() {
return id.hashCode();
}
/**
* {@inheritDoc}
*/
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof AbstractBaseEntity)) {
return false;
}
final AbstractBaseEntity other = (AbstractBaseEntity) obj;
return getId().equals(other.getId());
}
/**
* getId
*
* @return id
*/
public String getId() {
return id;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy