आप एक बना सकते हैं Embedded class
, जिसमें आपकी दो चाबियां हैं, और फिर उस वर्ग का संदर्भ EmbeddedId
आपके अनुसार है Entity
।
आप की आवश्यकता होगी @EmbeddedId
और @Embeddable
एनोटेशन।
@Entity
public class YourEntity {
@EmbeddedId
private MyKey myKey;
@Column(name = "ColumnA")
private String columnA;
/** Your getters and setters **/
}
@Embeddable
public class MyKey implements Serializable {
@Column(name = "Id", nullable = false)
private int id;
@Column(name = "Version", nullable = false)
private int version;
/** getters and setters **/
}
इस कार्य को प्राप्त करने का एक और तरीका है @IdClass
एनोटेशन का उपयोग करना , और id
उस में अपने दोनों को जगह देना IdClass
। अब आप @Id
दोनों विशेषताओं पर सामान्य एनोटेशन का उपयोग कर सकते हैं
@Entity
@IdClass(MyKey.class)
public class YourEntity {
@Id
private int id;
@Id
private int version;
}
public class MyKey implements Serializable {
private int id;
private int version;
}
@IdClass
एनोटेशन का उपयोग करते समय , मैंने पाया कि एक और टिप@Column
एनोटेशन को इकाई वर्ग के क्षेत्रों (YourEntity
रोहितजन के नमूना कोड में) में जाना चाहिए ।