मुझे अपनी संस्थाओं में स्ट्रिंग्स और एनम्स का संग्रह मैप करने में समस्याएं हैं। मैंने विभिन्न सलाहों का पालन किया है, लेकिन कुछ भी काम नहीं कर रहा है। मैं PlayFramework 2.0 और प्रदत्त ईबीन को ओआरएम के रूप में उपयोग कर रहा हूं। ,ईबीन के साथ स्ट्रिंग और एनम का मानचित्रण संग्रह (प्ले 2.0)
create table foo (
id bigint not null,
constraint pk_foo primary key (id))
;
मैं देखना दोनों तालिकाओं bar_foobar
और bar_strings
बनाया जा रहा उम्मीद करेंगे:
package models;
import java.util.*;
import javax.persistence.*;
import play.db.ebean.Model;
@Entity
@Table(name = "foo")
public class Foo extends Model {
private static final long serialVersionUID = 1L;
private enum FooBar {
FOO, BAR;
}
@Id
public Long id;
@ElementCollection
@Enumerated(EnumType.STRING)
@CollectionTable(name = "bar_foobar",
joinColumns = @JoinColumn(name = "bar_id",
referencedColumnName = "id"))
@Column(name = "foobar")
public List<FooBar> fooBars;
@ElementCollection(targetClass = String.class)
@CollectionTable(name = "bar_strings",
joinColumns = @JoinColumn(name = "bar_id"))
@Column(name = "string", nullable = false)
public List<String> listOfStrings;
@Basic
public List<String> listOfStrings2;
// Attempt to circumvent the issue, but this gives a strange error
//public String[] arrayOfString;
}
उत्पन्न DDL इस तरह जब आवेदन शुरू कर दिया है लगता:
यहाँ एक उदाहरण वर्ग है अगर टिप्पणियां सही थीं।
arrayOfString
चर का उपयोग कर रहे हैं, तो मैं एक अनुप्रयोग प्रारंभ (जो एक यादृच्छिक इकाई से संबंधित होने पर एक weired त्रुटि संदेश मिलता है, जरूरी नहीं कि Foo.class
PersistenceException: के साथ त्रुटि [models.user.User] यह बढ़ाया गया है लेकिन यह superClass [class play.db.ebean.Model] है? (आप को एकल विरासत पदानुक्रम में वृद्धि को जोड़ने की अनुमति नहीं है) मार्कर [play.db.ebean.Model] className [मॉडल .user.User]
मुझे पता है कि मैं अपनी स्ट्रिंग्स और एम्स को इकाइयों में लपेट सकता हूं, और @ मैनी टॉनी रिश्ते का उपयोग कर सकता हूं, लेकिन इसका विचार मुझे कंपकंपी बनाता है। क्या Play 2.0 या Ebean (v2.7.3 का उपयोग करके) में कोई बग है? क्या मैं अन्य समस्याएं हल कर सकता हूं?
उत्तर के लिए धन्यवाद। यह दृढ़ता अपवाद के बारे में है, है ना? मैंने वास्तव में 2.0.1 तक अपग्रेड करने का प्रयास किया है, और इसके बाद भी यही अपवाद मिला है। लेकिन शायद इसे हल करने के लिए मुझे 2.0.1 के साथ स्क्रैच से परियोजना बनाने की आवश्यकता है? मेरा मुख्य प्रश्न स्ट्रिंग/एनम मैपिंग के बारे में था, पोस्ट में दूसरा प्रश्न जोड़ने के लिए खेद है। – kvitso