Список сопоставления <String>с @CollectionTable с использованием составного внешнего ключа, нескольких joinColumns - PullRequest
0 голосов
/ 24 сентября 2019

Итак, у меня проблема при использовании @CollectionTable с составным внешним ключом.У меня есть и сущность A, которая имеет коллекцию List, сущность A имеет составной первичный ключ B с двумя строками, сущность A выглядит примерно так:

public class A implements Serializable {

    @EmbeddedId
    private B primaryKey;

    @ElementCollection(fetch = FetchType.EAGER)
    @CollectionTable(name = "table_d", joinColumns = {
            @JoinColumn(name = "aaa_aaa", referencedColumnName = "aaa_aaa"),
            @JoinColumn(name = "bbb_bbb", referencedColumnName = "bbb_bbb")})
    @Column(name = "c_records")
    private List<String> cRecords = new ArrayList<>();
} 

@Embeddable
public class B implements Serializable {

    @Column(name = "aaa_aaa")
    private String aaa;

    @Column(name = "bbb_bbb")
    private String bbb;

}

Когда я вставляю запись, все работает нормально, но когда япопытаться найти эту запись по идентификатору (B primaryKey), она не получает cRecords и отображается как пустой «PersistentBag», также, когда я пытаюсь обновить что-либо из сущности A, я получаю следующую ошибку:

WARN loading.internal.LoadContexts: 98 - HHH000100: отказоустойчивая очистка (коллекции): org.hibernate.engine.loading.internal.CollectionLoadContext@4a03acb6 WARN loading.internal.CollectionLoadContext: 413 - HH00В CollectionLoadContext # cleanup localLoadingCollectionKeys содержал [1] записей

java.lang.ClassCastException: org.hibernate.loader.plan.build.internal.returns.CollectionReturnImpl не может быть приведен к org.hibernate.loader.plan.spi.Fetch

Кто-нибудь знает, что с ним не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...