package org.tests.compositekeys.db;
import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Version;
@Entity
public class Item {
@Id
private ItemKey key;
private String description;
private String units;
private int type;
private int region;
@Embedded
@AttributeOverride(name = "lastUpdated", column = @Column(name = "DATE_MODIFIED"))
@AttributeOverride(name = "created", column = @Column(name = "DATE_CREATED"))
@AttributeOverride(name = "updatedBy", column = @Column(name = "MODIFIED_BY"))
@AttributeOverride(name = "createdBy", column = @Column(name = "CREATED_BY"))
private AuditInfo auditInfo = new AuditInfo();
@Version
private Long version;
@ManyToOne
@JoinColumn(name = "customer", referencedColumnName = "customer", insertable = false, updatable = false)
@JoinColumn(name = "type", referencedColumnName = "type", insertable = false, updatable = false)
private Type eType;
@ManyToOne
@JoinColumn(name = "customer", referencedColumnName = "customer", insertable = false, updatable = false)
@JoinColumn(name = "region", referencedColumnName = "type", insertable = false, updatable = false)
private Region eRegion;
public ItemKey getKey() {
return key;
}
public void setKey(ItemKey key) {
this.key = key;
}
public String getUnits() {
return units;
}
public void setUnits(String units) {
this.units = units;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getRegion() {
return region;
}
public void setRegion(int region) {
this.region = region;
}
public Long getVersion() {
return version;
}
public Type getEType() {
return eType;
}
public Region getERegion() {
return eRegion;
}
public void setVersion(Long version) {
this.version = version;
}
public void setEType(Type eType) {
this.eType = eType;
}
public void setERegion(Region eRegion) {
this.eRegion = eRegion;
}
public AuditInfo getAuditInfo() {
return auditInfo;
}
}