2009-05-28 16 views
6
@Entity 
public class TestClass implements Serializable{ 
    private Integer id; 
    private Set<String> mySet; 

    @Id 
    @GeneratedValue 
    public Integer getId() { 
     return id; 
    } 
    @OneToMany(cascade={CascadeType.ALL}) 
    public Set<String> getMySet() { 
     return mySet; 
    } 
} 

मुझे निम्न त्रुटि मिलती है।मैं जेपीए एनोटेशन का उपयोग कर स्ट्रिंग ऑब्जेक्ट्स का एक सेट कैसे मैप करूं?

Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: TestClass.mySet[java.lang.String] 

या अगर मैं @OneToMany

org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: test_class, for columns: [org.hibernate.mapping.Column(my_sets)]

+0

हाइबरनेट की @ कोलेक्शनऑफ एलिमेंट्स एनोटेशन ने मेरे लिए समस्या हल की। यह विशिष्ट हाइबरनेट है, लेकिन मैं अपने जेपीए कार्यान्वयन को स्वैप करने की योजना नहीं बना रहा हूं। – ScArcher2

उत्तर

6

को बंद रखना होगा आप एक बहुत सभ्य जवाब here मिल जाएगा। सूचियों के नियम भी सेट पर लागू होते हैं।

5

ओह ओह, मुझे यह करना था।

@CollectionOfElements(targetElement = String.class) 
+0

यह भी मुझे करना है, लेकिन यह विशिष्ट हाइबरनेट है। मेरी स्थिति में यह मेरे साथ ठीक है। – ScArcher2

+1

@ जेपीए 2 में एलिमेंट कोलेक्शन, यह उत्तर बेहतर दृष्टिकोण है। http://stackoverflow.com/questions/287201/how-to-persist-a-property-of-type-liststring-in-jpa देखें – pdem

संबंधित मुद्दे