Какой ORM может это сделать? - PullRequest
0 голосов
/ 15 февраля 2012

Извиняюсь за список покупок, но я поиграл с несколькими библиотеками типа ORM, и большинство из них хороши, но ни одна не сделала все :) В моем следующем проекте я надеюсь найти такую, которая может сделать еще несколько вещи из коробки. Есть ли у вас хорошие предложения?

Это то, что я ищу:

  1. Простой выбор глубоко вложенных данных.

    например, PHP Yii CActiveRecord может сделать что-то вроде этого: Contact :: model () -> with ('phone_numbers', 'address', 'creationBy.user.company') -> findAll ();

  2. Простое создание / возврат глубоко вложенного JSON из базы данных или ORM

  3. Простая загрузка глубоко вложенных данных JSON, их проверка и правильное сохранение в базе данных

  4. Поддерживает оптимистический контроль параллелизма

  5. Изящно обрабатывает мультитенантные системы

Ответы [ 2 ]

0 голосов
/ 20 апреля 2012

Легко выбирайте глубоко вложенные данные / Легко создавайте / возвращайте глубоко вложенный JSON из базы данных или ORM

Но чтобы найти один ... вам нужен универсальный способ преобразования в / изобъекты, массивы, вход и выход json, рекурсивно

Простая загрузка глубоко вложенных данных JSON, их проверка и правильное сохранение в базе данных

Еще не найдено.

Поддерживает оптимистичное управление параллелизмом

Учите или заваривайте свой собственный счетчик версий "wa" для записи

Изящно обрабатывает мультитенантные системы

Ruby ActiveRecord + Postgres

0 голосов
/ 16 февраля 2012

ORM означает объектно-реляционный картограф.Это позволяет вам конвертировать из мира строк в мир объектов и ассоциаций между этими объектами.Ничто в обоих мирах не имеет ничего общего с сериализацией JSON или XML.Для достижения того, что вы хотите, вам нужно использовать отдельную платформу сериализации.Похоже, что вам не нужен ORM, потому что вы не планируете иметь фактическую объектную модель, вы, кажется, думаете с точки зрения «данных», а не «объектов», вам просто нужен «клей» между базой данных исетевое приложение.

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