package edu.harvard.iq.dataverse; import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser; import java.io.Serializable; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.IdClass; import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; /** * Records the last time a {@link User} handled a {@link DatasetVersion}. * @author skraffmiller */ @Entity @Table(indexes = {@Index(columnList="authenticateduser_id"), @Index(columnList="datasetversion_id")}) public class DatasetVersionUser implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @ManyToOne @JoinColumn(name = "authenticatedUser_id") private AuthenticatedUser authenticatedUser; public AuthenticatedUser getAuthenticatedUser() { return authenticatedUser; } public void setAuthenticatedUser(AuthenticatedUser authenticatedUser) { this.authenticatedUser = authenticatedUser; } @ManyToOne @JoinColumn(name = "datasetversion_id") private DatasetVersion datasetVersion; @Column( nullable=false ) private Timestamp lastUpdateDate; public Timestamp getLastUpdateDate() { return lastUpdateDate; } public void setLastUpdateDate(Timestamp lastUpdateDate) { this.lastUpdateDate = lastUpdateDate; } public DatasetVersion getDatasetVersion() { return datasetVersion; } public void setDatasetVersion(DatasetVersion datasetVersion) { this.datasetVersion = datasetVersion; } }