У меня есть класс «Папка», который имеет много файлов, так же, как показано нижеКак сохранить объекты в порядке их хранения в наборе?
class Folder {
...
@ManyToMany
private Set<File> files= new HashSet<>();
}
мне нужно сохранить не только файлы, папка имеет, но и порядок этого файла для этой папки (это могут отличаться для других). Если у меня есть 3 файла: "X Y Z", мне также нужно знать, что:
X = первый
Y = второй
Z = третий
Теперь, когда вы поняли проблему, есть нечто большее. Файлы имеют типы.
class File {
...
@ManyToOne
private FileType type;
}
Каждый тип файла генерирует другой порядок в папке.
Таким образом, я могу иметь папку с 4-мя файлами:
"X", типа "JPEG"
"Y", типа "JPEG"
"Z", тип "PNG"
" W», тип "PNG"
В этом случае она должна быть
Для типа JPEG, Х = 1-й, 2-й Y =
Для типа PNG, Z = 1, W = 2
Я не уверен, что это лучший способ сделать это.
- Должен ли я создать другой класс, который будет содержать отношение? У меня все еще была бы проблема различать типы файлов.
- Должен ли я создать карту < FileType, FileWithOrder >, чтобы я мог отделить каждый тип файла, а затем дать им целое число со своим номером заказа?
- Другие лучше sugestion? :)
Надеюсь, я был достаточно ясен в своей проблеме. Спасибо
Измените 'HashSet' на' LinkedHashSet' или используйте 'List' вместо' Set'. Обратите внимание, что последнее зависит от ваших требований. –
У Луиджи есть хорошие предложения. Лично я бы перечислил и добавил столбец ordernum в таблицу файлов. –
Это решит все проблемы без какого-либо жесткого кода. Огромное спасибо. Я попробую. Есть ли разница с помощью Set/List? – rtmc