сохранить результаты поиска сущностей и повторить их позже - PullRequest
0 голосов
/ 18 мая 2019

Я делаю условный поиск сущностей и хочу сохранить результаты где-нибудь, чтобы потом повторить их.Я искал вокруг и нашел 2 решения.Я использую mySql btw.

1 - создайте временную таблицу и вставьте в нее результаты. 2 Сохранение результатов в файл (csv, ...)

Теперь мой вопрос:

1 - какое решение предпочтительнее или может предложить другое решение (общий / доверенный шаблон)

2 - как это сделать?(например, я не знаю, как создать таблицу на лету или отбросить ее в moqui. Предложить исходный код ресурса / примера и т. д. было бы здорово)

заранее спасибо

1 Ответ

0 голосов
/ 20 мая 2019

Одним из возможных подходов было бы преобразование списка, который ваш поиск сущностей дает вам, в двоичные данные и сохранение его как DbResourceFile с использованием сущностей moqui.resource.DbResource, а также с использованием утилит из org.apache.commons.io и т. Д..

РЕДАКТИРОВАТЬ - Чтобы изложить в ответ на комментарий ниже, я подумал о таких линиях, как

    <set field="fileData" from="yourList.toString().getBytes()" />
    <service-call name="create#moqui.resource.DbResource" in-map="[filename:'ExampleListFrom01012019.bin', isFile:'N']" out-map="context" />
    <service-call name="create#moqui.resource.DbResourceFile" in-map="context + [mimeType:'application/octet-stream', fileData:fileData]" />

Затем вернуть его после поиска в DBResource с чем-то вроде

    <set field="convertedBack" from="x.fileData.getBinaryStream()" type="NewList" />

Я не пробовал, и в коде, о котором я знаю, нет близких примеров.

Этот тип преобразования между типами не является наилучшей практикой, но хранение списков для последующего их повторения, вероятно, также не подходит.

Возможно, это поможет, если вы уточните требования своего бизнеса.

...