2015-05-31 11:55:18 +03:00
|
|
|
package com.iluwatar.servicelayer.common;
|
2015-04-12 23:49:00 +03:00
|
|
|
|
2015-04-13 22:08:01 +03:00
|
|
|
import javax.persistence.Inheritance;
|
|
|
|
import javax.persistence.InheritanceType;
|
|
|
|
import javax.persistence.MappedSuperclass;
|
2015-04-12 23:49:00 +03:00
|
|
|
import javax.persistence.Version;
|
|
|
|
|
2015-04-15 22:29:04 +03:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* Base class for entities.
|
|
|
|
*
|
|
|
|
*/
|
2015-04-13 22:08:01 +03:00
|
|
|
@MappedSuperclass
|
2015-11-01 21:29:13 -05:00
|
|
|
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
|
2015-12-29 01:19:46 +01:00
|
|
|
public abstract class BaseEntity {
|
2015-11-01 21:29:13 -05:00
|
|
|
|
|
|
|
@Version
|
|
|
|
private Long version;
|
2015-12-29 01:19:46 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Indicates the unique id of this entity
|
|
|
|
*
|
|
|
|
* @return The id of the entity, or 'null' when not persisted
|
|
|
|
*/
|
|
|
|
public abstract Long getId();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set the id of this entity
|
|
|
|
*
|
|
|
|
* @param id The new id
|
|
|
|
*/
|
|
|
|
public abstract void setId(Long id);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the name of this entity
|
|
|
|
*
|
|
|
|
* @return The name of the entity
|
|
|
|
*/
|
|
|
|
public abstract String getName();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set the name of this entity
|
|
|
|
*
|
|
|
|
* @param name The new name
|
|
|
|
*/
|
|
|
|
public abstract void setName(final String name);
|
|
|
|
|
2015-04-12 23:49:00 +03:00
|
|
|
}
|