Сохранить порядок установки в спящем режиме - PullRequest
1 голос
/ 21 февраля 2020

У меня есть две коллекции, которые по умолчанию установлены в PersistentSet hibernate. Проблема в том, что под капотом Hibernate переводит их в HashSet, но я хочу, чтобы они были установлены в LinkedHashSet, так как я хочу сохранить порядок, в котором добавляются элементы.

@ElementCollection(fetch = FetchType.LAZY)
private Set<String> responsibilities;

@ElementCollection(fetch = FetchType.LAZY)
private Set<String> requirements;

Я пробовал пару вещей, но безуспешно

public void setResponsibilities(LinkedHashSet<String> responsibilities) {
    this.responsibilities = responsibilities;
}

public void setRequirements(LinkedHashSet<String> requirements) {
    this.requirements = requirements;
}

Другая вещь, которую я пробовал, была:

@ElementCollection(fetch = FetchType.LAZY)
private Set<String> requirements = new LinkedHashSet<>();

1 Ответ

0 голосов
/ 21 февраля 2020

Пожалуйста, посмотрите здесь https://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html_single/#collections -sorted Кажется, что это можно сделать с помощью SortedSet или просто попробуйте использовать приведенное ниже решение:

@OrderBy("created DESC")
private Set<MyEntity> entities;
...