Composite Key Question
msly Sep 8, 2005 2:19 PMI have a table that has a composite key. One value is from the table and one is a foreign key in another table.
Here is the class that I am trying to anotate:
/***********************************************************************
 * Module: ActionStatus.java
 * Author: mslyter
 * Purpose: Defines the Class ActionStatus
 ***********************************************************************/
package gov.utah.laborcommission.safety.entities;
import java.io.Serializable;
import javax.persistence.*;
@Entity(access = AccessType.FIELD)
@Table(name = "ACTION_STATUS")
public class ActionStatus implements Serializable{
 private SystemType systemType;
 private String actionStatus;
 private String actionStatusDesc;
 private String activeIndicator;
 @ManyToOne
 @JoinColumn(name="systemType", insertable=false, updatable=false)
 public SystemType getSystemType() {
 return systemType;
 }
 public void setSystemType(SystemType systemType) {
 this.systemType = systemType;
 }
 @Id(generate = GeneratorType.NONE)
 @Column(name="Action_Status")
 public String getActionStatus() {
 return actionStatus;
 }
 public void setActionStatus(String actionStatus) {
 this.actionStatus = actionStatus;
 }
 @Column(name="Action_Status_Desc")
 public String getActionStatusDesc() {
 return actionStatusDesc;
 }
 public void setActionStatusDesc(String actionStatusDesc) {
 this.actionStatusDesc = actionStatusDesc;
 }
 @Column(name="Active_Indicator")
 public String getActiveIndicator() {
 return activeIndicator;
 }
 public void setActiveIndicator(String activeIndicator) {
 this.activeIndicator = activeIndicator;
 }
}The class contains the field that the foreign/primary key is in:
/***********************************************************************
 * Module: SystemType.java
 * Author: mslyter
 * Purpose: Defines the Class SystemType
 ***********************************************************************/
package gov.utah.laborcommission.safety.entities;
import java.io.Serializable;
import javax.persistence.*;
import java.util.*;
@Entity
@Table(name = "SYSTEM_TYPE")
public class SystemType implements Serializable{
 private String systemType;
 private String systemTypeDesc;
 private String activeIndicator;
 private String wpExePath;
 private String documentTemplatePath;
 private String emailTemplatePath;
 private String documentSavePath;
 private LcEntity supportEntityID;
 private LcEntity contactEntityID;
 private Date lastImportFileDate;
 private String importPath;
 private String exportPath;
 private String logFilePath;
 private String wpDdeCommand;
 public SystemType(){}
 public SystemType(String systemType,
 String systemTypeDesc,
 String activeIndicator,
 String wpExePath,
 String documentTemplatePath,
 String emailTemplatePath,
 String documentSavePath,
 LcEntity supportEntityID,
 LcEntity contactEntityID,
 Date lastImportFileDate,
 String importPath,
 String exportPath,
 String logFilePath,
 String wpDdeCommand) {
 this.systemType = systemType;
 this.systemTypeDesc = systemTypeDesc;
 this.activeIndicator = activeIndicator;
 this.wpExePath = wpExePath;
 this.documentTemplatePath = documentTemplatePath;
 this.emailTemplatePath = emailTemplatePath;
 this.documentSavePath = documentSavePath;
 this.supportEntityID = supportEntityID;
 this.contactEntityID = contactEntityID;
 this.lastImportFileDate = lastImportFileDate;
 this.importPath = importPath;
 this.exportPath = exportPath;
 this.logFilePath = logFilePath;
 this.wpDdeCommand = wpDdeCommand;
 }
 @Id
 @Column(name="System_Type")
 public String getSystemType() {
 return systemType;
 }
 public void setSystemType(String systemType) {
 this.systemType = systemType;
 }
 @ManyToOne(optional=false)
 @JoinColumn(name="Entity_ID")
 public LcEntity getContactEntityID() {
 return contactEntityID;
 }
 public void setContactEntityID(LcEntity contactEntityID) {
 this.contactEntityID = contactEntityID;
 }
 @ManyToOne(optional=false)
 @JoinColumn(name="Entity_ID")
 public LcEntity getSupportEntityID() {
 return supportEntityID;
 }
 public void setSupportEntityID(LcEntity supportEntityID) {
 this.supportEntityID = supportEntityID;
 }
 @Column(name="Active_Indicator")
 public String getActiveIndicator() {
 return activeIndicator;
 }
 public void setActiveIndicator(String activeIndicator) {
 this.activeIndicator = activeIndicator;
 }
 @Column(name="Document_Save_Path")
 public String getDocumentSavePath() {
 return documentSavePath;
 }
 public void setDocumentSavePath(String documentSavePath) {
 this.documentSavePath = documentSavePath;
 }
 @Column(name="Document_Template_Path")
 public String getDocumentTemplatePath() {
 return documentTemplatePath;
 }
 public void setDocumentTemplatePath(String documentTemplatePath) {
 this.documentTemplatePath = documentTemplatePath;
 }
 @Column(name="Email_Template_Path")
 public String getEmailTemplatePath() {
 return emailTemplatePath;
 }
 public void setEmailTemplatePath(String emailTemplatePath) {
 this.emailTemplatePath = emailTemplatePath;
 }
 @Column(name="Export_Path")
 public String getExportPath() {
 return exportPath;
 }
 public void setExportPath(String exportPath) {
 this.exportPath = exportPath;
 }
 @Column(name="Import_Path")
 public String getImportPath() {
 return importPath;
 }
 public void setImportPath(String importPath) {
 this.importPath = importPath;
 }
 @Column(name="Last_Import_File_Date")
 public Date getLastImportFileDate() {
 return lastImportFileDate;
 }
 public void setLastImportFileDate(Date lastImportFileDate) {
 this.lastImportFileDate = lastImportFileDate;
 }
 @Column(name="Log_File_Path")
 public String getLogFilePath() {
 return logFilePath;
 }
 public void setLogFilePath(String logFilePath) {
 this.logFilePath = logFilePath;
 }
 @Column(name="System_Type_Desc")
 public String getSystemTypeDesc() {
 return systemTypeDesc;
 }
 public void setSystemTypeDesc(String systemTypeDesc) {
 this.systemTypeDesc = systemTypeDesc;
 }
 @Column(name="WP_DDE_Command")
 public String getWpDdeCommand() {
 return wpDdeCommand;
 }
 public void setWpDdeCommand(String wpDdeCommand) {
 this.wpDdeCommand = wpDdeCommand;
 }
 @Column(name="WP_Exe_Path")
 public String getWpExePath() {
 return wpExePath;
 }
 public void setWpExePath(String wpExePath) {
 this.wpExePath = wpExePath;
 }
}How do I anotate this correctly. I haven't seen an example of anything like this.
Any Help would be appreciated,
Mike
