Есть ли рекомендуемый / стандартный способ сохранения экземпляров классов Grails с помощью моделей представления с открытыми дельфинами?
Я хотел бы максимально облегчить использование открытого дельфина в Граале. Итак, я ищу способ обрабатывать действия CRUD на классах домена (на стороне сервера) автоматически. В демонстрациях из проекта open-dolphin я не нашел никакой идеи, как этого добиться (если я что-то пропустил, пожалуйста, укажите мне, где мне следует учиться). Экземпляры извлекаются с сервера по запросу, и до тех пор, пока они не будут извлечены / обновлены, невозможно распознать изменения, которые происходят на сервере (я изучал главным образом crudDemo в проекте open-dolphin).
Так как действия CRUD могут поступать не только от пользователя через веб или удаленный клиент, но и как следствие других действий, каскадного удаления, от служб и т. Д.(Изменения, внесенные в базу данных через sql, вероятно, не поддаются лечению), то, что обрабатывает действия в контроллеров классов недостаточно.
Мне пришла в голову идея обработки CRUD-действий с использованием событий GORM, с помощью которых я могу поддерживать постоянную работу моделей дельфинов с базой данных, проверять PM перед обновлением или удалением и, вероятно, обрабатывать все изменения в экземплярах классов домена, которые выполняет Grails. Но я должен написать очень похожую логику для каждого класса, быть уверенным, что я не пропустил ни одного события в каком-либо классе (строительные леса могут помочь), и, вероятно, есть другие последствия, которые я не осознаю сейчас...
Поэтому мой вопрос: существует ли какая-либо документация, шаблон, плагин, код с открытым исходным кодом и т. Д., Где open-dolphin реализован в виде грааля таким образом, что он автоматически распространяет действия CRUD на экземпляры классов домена в свои модели представления? Или что-нибудь, что стремится достигнуть этого, используя строительные леса, наблюдение за списками экземпляров и свойствами, или что-то еще?
Возможно, я неправильно понял концепцию использования открытого дельфина с граалями, если да, то я ценю любой хороший совет.
Большое спасибо!
1 ответ
По какой-то причине я не видел ваш вопрос раньше. Вы можете счастливо использовать доменные классы Grails и GORM с OpenDolphin на стороне сервера. CrudDemo в OpenDolphin делает именно это. Вот классы доменов: https://github.com/canoo/open-dolphin/tree/master/dolphin-grails/grails-app/domain/dolphin/grails Вот действия: https://github.com/ Canoo / opendolphin / дерево / ведущий / подпроекты / демонстрационный-JavaFX / сервер / SRC / Основной / заводные / орг / opendolphin / демо / падла
Обратите внимание, что когда мы проводим тестирование и клиентские и серверные действия выполняются в памяти, поддержка grails недоступна. Поэтому действия на стороне сервера используют интерфейсы служб с DTO вместо классов домена Grails. Реализация в качестве сервиса Grails затем использует доменные классы Grails и GORM.
наслаждайся Дирком