package ca.intelliware.ihtsdo.mlds.domain;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.hibernate.annotations.Type;

@Entity
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
public abstract class Event {

	@Id @GeneratedValue @Column(name="event_id")
	private Long id;
	
	@Type(type="timestamp")
	@Column(nullable=false,updatable=false)
	private Timestamp timestamp;
	
	@Column(nullable=false,length=4096)
	private String description;

	protected Event() {
	}
	protected Event(String description) {
		this.description = description;
		this.timestamp = new Timestamp(System.currentTimeMillis());
	}
	
	public Long getId() {
		return this.id;
	}

	public Timestamp getTimestamp() {
		return timestamp;
	}

	public String getDescription() {
		return this.description;
	}
}

@@ -450,16 +450,35 @@
 s Event 
+extends BaseEntity 
 %7B%0A%0A%09@Id 
@@ -1035,10 +1035,67 @@
 ion;%0A%09%7D%0A
+%09%0A%09@Override%0A%09protected Object getPK() %7B%0A%09%09return id;%0A%09%7D%0A
 %7D%0A

Make sure all JPA entities implement equals and hashcode