Можно ли использовать Play без JPA, поменявшись собственной реализацией CRUD? - PullRequest
2 голосов
/ 16 мая 2011

Я оцениваю игру для использования в качестве системы администратора в семействе приложений в среде SOA.

Каждое приложение имеет свое постоянство, и различные операции CRUD могут выполняться с конечными точками REST в каждом приложении.

Бесплатный администратор - это привлекательная игра, но я бы хотел заменить реализацию JPA клиентом REST, который выполняет CRUD, взаимодействуя с конечной точкой REST каждого отдельного приложения.

Насколько просто заменить реализацию JPA? Как бы это было сделано?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 16 мая 2011

Это не так сложно.
Я работаю над Siena, облегченной средой сопоставления объектов для NoSQL / SQL, и у нас есть 2 модуля для игры: play-siena, которая позволяет использовать Siena вместо JPA, и crudsiena, которая предоставляет Crud, основанный на Siena, с некоторыми улучшениями для средств выбора даты и списка. / Управление картой.
Дизайн play.db.Model является достаточно расширяемым и многократно используемым (он также использовался Morphia для MongoDB), и код JPA весьма полезен, чтобы увидеть, что нужно сделать.
Crud не предназначен для того, чтобы быть расширяемым или наследуемым, поэтому вам придется переопределять множество вещей, но, глядя на код, он дает вам хорошее представление о необходимых механизмах.

1 голос
/ 16 мая 2011

CRUD работает путем проверки сущностей, связанных с контроллером CRUD. Он загружает модели с похожими именами (или аннотированными) и решает, что показывать, основываясь на аннотациях / типах сущностей.

Если вам нужно иметь экран CRUD, на котором отображаются данные, предоставляемые службой REST, я думаю, вам будет проще просто создать свой собственный пользовательский интерфейс. Вероятно, вы можете повторно использовать макет CRUD (шаблоны, CSS и т. Д.), Если вы хотите, чтобы это выглядело и чувствовалось, и легко кодировали остальное, используя библиотеку WS и Play.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...