import java.io.Serializable;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Version;
-
import org.wamblee.persistence.Persistent;
/**
* @author Erik Brakkee
*/
public abstract class AbstractPersistent implements Persistent {
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long primaryKey;
+
+ private Serializable id;
- @Version
- private int version;
+ private Number version;
protected AbstractPersistent() {
- primaryKey = null;
+ id = null;
version = -1;
}
* Object to copy.
*/
protected AbstractPersistent(AbstractPersistent aPersistent) {
- primaryKey = aPersistent.primaryKey;
+ id = aPersistent.id;
version = aPersistent.version;
}
* @see org.wamblee.persistence.Persistent#getPrimaryKey()
*/
@Override
- public Long getPrimaryKey() {
- return primaryKey;
+ public Serializable getPrimaryKey() {
+ return id;
}
/*
* org.wamblee.persistence.Persistent#setPrimaryKey(java.io.Serializable)
*/
@Override
- public void setPrimaryKey(Long aKey) {
- primaryKey = aKey;
+ public void setPrimaryKey(Serializable aKey) {
+ id = aKey;
}
/*
*
* @see org.wamblee.persistence.Persistent#getPersistedVersion()
*/
- public int getPersistedVersion() {
+ public Number getPersistedVersion() {
return version;
}
*
* @see org.wamblee.persistence.Persistent#setPersistedVersion(int)
*/
- public void setPersistedVersion(int aVersion) {
+ public void setPersistedVersion(Number aVersion) {
version = aVersion;
}
}