Я использую 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)
Заранее спасибо!
@Join
в соответствии с базовой документацией JDO datanucleus.org:15080/products/accessplatform_5_2/jdo/ - person   schedule 30.01.2019