2012-01-21 10 views
5

मैं एक कस्टम वस्तु सूचीजेपीए @Embeddable

@ElementCollection 
@CollectionTable(name = "choice", joinColumns = @JoinColumn(name = "itemId")) 
@OrderColumn(name = "index") 
private List<Choice> choices = new ArrayList<Choice>(); 

मैं इस

//@Embeddable 
@Table(name = "choice") 
@Cacheable(false) 
@Audited 
public class Choice implements Serializable{ 

की तरह एक विकल्प वर्ग बनाया है, तो मैं @Embeddable एनोटेशन मैं org.hibernate.MappingException: Type not supported for auditing: org.hibernate.type.ComponentType

हो रही है का उपयोग के लिए @ElementCollection उपयोग कर रहा हूँ

मैं जेपीए के लिए नया हूं। क्या कोई ऐसी चीज है जो मुझे याद आ रही है?

+0

आप क्या समझते हैं? संदेश बहुत स्पष्ट है: आप एक घटक/एम्बेड करने योग्य ऑडिट नहीं कर सकते हैं। इसे एक वास्तविक इकाई बनाओ। –

उत्तर

5

यदि आप @Embeddable का उपयोग करना चाहते हैं, तो @Embeddable कक्षा को संदर्भित फ़ील्ड @Embedded एनोटेशन होना आवश्यक है। फिर, @Embedded कक्षा में फ़ील्ड उचित जेपीए एनोटेशन की आवश्यकता है ताकि जेपीए जानता है कि उनके साथ क्या करना है। @Embbedable क्या करता है पूरी तरह से समझने के लिए आप this पढ़ना चाह सकते हैं।

+0

संपादन के लिए धन्यवाद। मुझे पता नहीं था कि मैं बैक कोट का उपयोग करके स्वरूपण कर सकता हूं। – Christine