Обновление Hibernate Вызывает нулевой столбец индекса для ошибки коллекции для Списка - PullRequest
0 голосов
/ 14 февраля 2019

Мы пытаемся обновить hibernate с версии 4.3.5 до 5.4.0.При этом версия jpa также меняется с hibernate-jpa-2.1 на jpa-2.2.После обновления мы получаем следующую ошибку при использовании коллекции List <> с @OrderColumn

"javax.persistence.PersistenceException: org.hibernate.HibernateException: null index column for collection"

Это однонаправленное сопоставление со следующими аннотациями

@Entity
@Table(name = "DS_GENERIC")
@PrimaryKeyJoinColumn(name = "DSG_DS_ID")
public class GenericConnection extends DataSourceConnection {

    @OneToMany(cascade = ALL, orphanRemoval = true, fetch = FetchType.EAGER)
    @JoinColumn(name = "DSC_DS_ID", nullable = false)
    @OrderColumn(name = "DSC_ORDER", updatable = false, insertable = false)
    List<Credentials> credentials = new ArrayList<>();

}

@Entity
@Table(name = "DS_CREDENTIALS")
public class Credentials {

    @Id
    @GeneratedValue(generator = "uid-generator")
    @Column(name = "DSC_ID", updatable = false)
    private Long id;

    //...
}

Сбой приведенного ниже тестового кода

//construct the connection object with credentials
entityManager.persist(connection);
entityManager.find(DataSourceConnection.class, id); //this call fails with the above error

Обратите внимание, что этот код отлично работал с Hibernate 4.3.5, и одним из обходных путей, который также работает, является преобразование List в Set, как показано ниже

@OneToMany(cascade = ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@JoinColumn(name = "DSC_DS_ID", nullable = false)
@OrderBy("DSC_ID")
Set<Credentials> credentials = new HashSet<>();

Я не понимаю причину этого сбоя.Любые материалы будут оценены.

Спасибо.

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