Не удалось определить тип для: java.util.List, для таблицы: test_4_config, для столбцов: [org.hibernate.mapping.Column (button) - PullRequest
0 голосов
/ 02 июля 2019

У меня есть сложный файл json, который мне нужно сохранить в Db "mysql", я использую hibernate, jpa 2, spring-boot.

Я создал классы моделей для сопоставления объектов с pojos, но какя не очень хорош в спящем режиме.я не совсем уверен насчет отношений между объектами.

Вот пример:

@Data
@Entity
@Table(name = "test_4_config")
public class Test_4 {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @JsonIgnore
    private Long id;

    private int sequenceTestNr;
    private int betweenButtInterval;
    private int repetitions;
    private Sequence2 sequence;


    @ElementCollection
    @CollectionTable(name = "colors_test_4", joinColumns = @JoinColumn(name = "test_4_id"))
    private List<String> colors= new ArrayList<>();


    @ElementCollection
    @CollectionTable(name = "images_test_4", joinColumns = @JoinColumn(name = "test_4_id"))
    private List<Image> images= new ArrayList<>();


    @ElementCollection
    @CollectionTable(name = "btn2_test_4", joinColumns = @JoinColumn(name = "test_4_id"))
    private List<Button2> buttons= new ArrayList<>();
}

Button2 class

@Data
@Embeddable

public class Button2 {


    private String background_color;
    private boolean btnShow;
    private Location location;
    private String text_color;
    private String text;
}





@Data
@Embeddable
public class Image {

    private String src;


}

эти классы вложены внутрьэтот класс:

@Data
@Entity
@Table(name = "configuration1")
public class ConfigTest {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @JsonIgnore
    private Long id;
    private Timer timer;
    private TestTypes testtypes;
    private int button_sequence;
    private String language_template;
    private KeyCodeToClick keycodeToClick;


    @ElementCollection
    @CollectionTable(name = "verifyKlaratTestObj", joinColumns = @JoinColumn(name = "config_test_id"))
    private List<String> verifyKlaratTestObj;

    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_0 test_0;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_1 test_1;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_2 test_2;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_3 test_3;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_4 test_4;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_5 test_5;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_6 test_6;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_7 test_7;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_8 test_8;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_9 test_9;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_10 test_10;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_11 test_11;
    @OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    private Test_12 test_12;


}

и вот ошибка:

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: java.util.List, at table: test_4_config, for columns: [org.hibernate.mapping.Column(button)]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:402) ~[spring-orm-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) ~[spring-orm-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]
    ... 21 common frames omitted
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...