Hi,

I've created two entity classes and a composite primary key class. I think I 
have all three coded properly but when I deploy with Seam 1.1.6 I get an 
exception:
AnnotationException: com.abc.selfEnrollment.RecordDataKey has no persistent id 
property

I'm sure I doing something silly. Please tell me what. Here are relevant 
sections from each class:


  | @Entity
  | @Name("record")
  | @Scope(SESSION)
  | @Table(name = "record")
  | public class Record implements Serializable {
  | 
  |     private Long recordId;
  |     private Long agreementProductId;
  |     private Date createDate;
  |     private Date modifiedDate;
  |     private Date eventDate;
  |     private Long participantId;
  |     private Long recordStatusCode;
  |     private Long appUserId;
  |     private Collection<RecordData> recordData;
  | 
  |     public Record() {
  |     }
  | 
  |     @Id
  |     @GeneratedValue
  |     public Long getRecordId() {
  |             return recordId;
  |     }
  | 
  |     public void setRecordId(Long recordId) {
  |             this.recordId = recordId;
  |     }
  |     
  |     @OneToMany(cascade = CascadeType.ALL, mappedBy = "record")
  |     public Collection<RecordData> getRecordData() {
  |             return recordData;
  |     }
  | 
  |     public void setRecordData(Collection<RecordData> recordDatas) {
  |             this.recordData = recordDatas;
  |     }
  |         ...
  |     }
  | 
  | @IdClass(com.abc.selfEnrollment.RecordDataKey.class)
  | @Entity
  | @Name("recordData")
  | @Scope(SESSION)
  | @Table(name = "record_data")
  | public class RecordData implements Serializable {
  | 
  |     private Long recordId;
  |     private Long biomarkerId;
  |     private Record record;
  |     private Double value;
  |     private Long uomId;
  | 
  |     public RecordData() {
  |     }
  | 
  |     @Id
  |     public Long getBiomarkerId() {
  |             return biomarkerId;
  |     }
  | 
  |     public void setBiomarkerId(Long biomarkerId) {
  |             this.biomarkerId = biomarkerId;
  |     }
  | 
  |     @Id
  |     @Column(name = "ORDERID", nullable = false, insertable = false, 
updatable = false)
  |     public Long getRecordId() {
  |             return recordId;
  |     }
  | 
  |     public void setRecordId(Long recordId) {
  |             this.recordId = recordId;
  |     }
  | 
  |     @ManyToOne
  |     @JoinColumn(name = "RECORD_ID")
  |     public Record getRecord() {
  |             return record;
  |     }
  | 
  |     public void setRecord(Record record) {
  |             this.record = record;
  |     }
  |         ...
  |     }
  | 
  | public final class RecordDataKey implements Serializable {
  | 
  |     public Long recordId;
  |     public Long biomarkerId;
  | 
  |     public RecordDataKey() {
  |     }
  | 
  |     public RecordDataKey(Long orderId, Long itemId) {
  |             this.recordId = orderId;
  |             this.biomarkerId = itemId;
  |     }
  | 
  |     public boolean equals(Object otherOb) {
  |             if (this == otherOb) {
  |                     return true;
  |             }
  |             if (!(otherOb instanceof RecordDataKey)) {
  |                     return false;
  |             }
  |             RecordDataKey other = (RecordDataKey) otherOb;
  |             return ((recordId == null ? other.recordId == null : recordId
  |                             .equals(other.recordId)) && (biomarkerId == 
other.biomarkerId));
  |     }
  | 
  |     public int hashCode() {
  |             return ((recordId == null ? 0 : recordId.hashCode()) ^ ((int) 
biomarkerId
  |                             .longValue() >>> 32));
  |     }
  | 
  |     public String toString() {
  |             return "" + recordId + "-" + biomarkerId;
  |     }
  | }
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4021833#4021833

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4021833
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to