Я использую ISIS 1.16.2 для проекта на работе и борюсь с вложениями и некоторыми связанными проблемами.Надеюсь, вы можете помочь мне (по крайней мере, в части моих проблем).
Контекст: в моих классах элементов должно храниться произвольное количество вложений (BLOB-объектов и / или Clobs).
Из примера для одного вложения:
@Persistent(defaultFetchGroup = "false",
columns = { @Column(name = "attachment_name"),
@Column(name = "attachment_mimetype"),
@Column(name = "attachment_bytes",
jdbcType = "BLOB",
sqlType = "LONGVARBINARY")
})
@Column(allowsNull = "true")
private Blob attachment;
Первый подход для нескольких вложений:
@javax.jdo.annotations.Persistent(???)
@org.apache.isis.applib.annotation.Property(
domainEvent = AttachmentDomainEvent.class,
optionality = Optionality.OPTIONAL,
hidden = Where.ALL_TABLES)
@org.apache.isis.applib.annotation.Collection
@lombok.Getter
private List<Blob> attachments = new LinkedList<>();
- Вопрос: Как мне нужно аннотировать это поле, чтобы элементы этого списка сохранялись в отдельной таблице, а не сериализовались в один столбец содержащего объекта?К сожалению, я еще не знаком с этими аннотациями для вложенных типов.
- Вопрос: Может ли ISIS обрабатывать несколько файлов одновременно?Например, в качестве действия:
@Action public void uploadFiles(List<Blob> files) {...}
- Вопрос: Возможно ли в ISIS 1.16.2 (или в будущих версиях) сохранять метаинформацию с записями Blob / Clob (например,размер, владелец и т. д.) в специальной таблице, не теряя возможности ISIS / Wicket для отображения кнопки загрузки, предварительного просмотра и т. д. для пользовательского расширенного класса BLOB?
Может быть, немного не по темено связано с проблемой выше:
Вопрос: Со свойством коллекции
List<Blob> attachments;
(см. Выше) я получаю
??? EntityModel objectAdapter oid: null
для каждого вложения в таблице, поскольку классы Blob / Clob являются типами значений, а не ссылочными типами.Каков «правильный» способ предоставить необходимую информацию для правильной визуализации этих типов значений?(У меня такая же проблема с наборами enum)
Заранее спасибо!