package com.joss.common.domain.drools; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @NamedQueries( { @NamedQuery(name = "ProcessInstanceLog.findByProcessId", query = "FROM ProcessInstanceLog p " + "WHERE p.processId = :processId"), @NamedQuery(name = "ProcessInstanceLog.findByProcessInstance", query = "FROM ProcessInstanceLog p " + "WHERE p.processId = :processId AND p.processInstanceId = :processInstanceId") }) public class ProcessInstanceLog { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private long processInstanceId; private String processId; @Temporal(TemporalType.TIMESTAMP) @Column(name = "start_date") private Date start; @Temporal(TemporalType.TIMESTAMP) @Column(name = "end_date") private Date end; ProcessInstanceLog() { } public ProcessInstanceLog(long processInstanceId, String processId) { setProcessInstanceId(processInstanceId); setProcessId(processId); setStart(new Date()); } public Long getId() { return id; } void setId(Long id) { this.id = id; } public long getProcessInstanceId() { return processInstanceId; } private void setProcessInstanceId(long processInstanceId) { this.processInstanceId = processInstanceId; } public String getProcessId() { return processId; } public void setProcessId(String processId) { this.processId = processId; } public Date getStart() { return start; } public void setStart(Date start) { this.start = start; } public Date getEnd() { return end; } public void setEnd(Date end) { this.end = end; } public String toString() { return "Process '" + processId + "' [" + processInstanceId + "]"; } }