Есть ли способ сопоставления ListProperties - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь отобразить атрибут ListProperties класса, используя JPA Hibernate.Я много искал и решил задать этот вопрос здесь.Я новичок в использовании JPA и Hibernate, если я нарушаю правило, извините за это, я рискну.

Есть ли способ сопоставить и использовать ListProperties?Если вы удивляетесь, почему я не использую List вместо List, у меня есть проект, который мне нужен для реализации элементов управления базой данных с помощью JPA и Hibernate.Кроме того, этот проект реализован с Maven, и использование mariaDB является обязательным.

Student.class

@Entity
@Table(name = "student")

public class Student{

@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@NotNull
private int id;

@Column(name = "text")
@NotNull
private String text;

@ElementCollection
@JoinColumn(name = "s_no")
private ListProperty<String> sList;

public Student(String text) {

    this.text = text;
    sList = new SimpleListProperty<String>();
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getText() {
    return text;
}

public void setText(String text) {
    this.text = text;
}

public ObservableList<String> getsList() {
    return sList.get();
}

public ListProperty<String> sListProperty() {
    return sList;
}

public void setsList(ObservableList<String> sList) {
    this.sList.set(sList);
}

Я получаю эту ошибку ниже, когда я запускаю

Exception in thread "main" org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: model.Student.sList
at org.hibernate.cfg.annotations.CollectionBinder.getCollectionBinder(CollectionBinder.java:324)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1899)
at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:913)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:740)
at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:249)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at controller.MainApp.main(MainApp.java:24)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...