blob: 0907b3de12f6805df17d95cd82930a83326fcb5c [file] [log] [blame]
/**
*
*/
package org.apache.continuum.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
/**
* Common persistable entity.
*
* @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
* @version $Id$
*/
@MappedSuperclass
public abstract class CommonPersistableEntity implements Serializable
{
/**
* Unique persistence identifier.
* <p>
* This is <code>null</code> if not persisted.
*/
@Id
@GeneratedValue( strategy = GenerationType.IDENTITY )
@Column( name = "ID" )
private Long id;
/**
* @return the id which is the unique persistence identifier.
*/
public Long getId()
{
return id;
}
/**
* @param id
* Unique persistence identifier to set.
*/
public void setId( Long id )
{
this.id = id;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ( ( id == null ) ? 0 : id.hashCode() );
return result;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
CommonPersistableEntity other = (CommonPersistableEntity) obj;
if ( id == null )
{
if ( other.id != null )
return false;
}
else if ( !id.equals( other.id ) )
return false;
return true;
}
}