Я занимаюсь оценкой платформы Play и изучаю Scala, которая была веселой. Исходя из java, переход на Scala занял довольно немного умственной гимнастики, однако я теперь поклонник.Playframework with SLICK и ограничение 22 столбцов
У меня есть значительная база данных, уже сопоставленная с использованием JPA, и я просто продолжал использовать этот код (с гибернацией), однако это не лучший или рекомендуемый подход с Scala. Поэтому я начал сопоставлять некоторые таблицы с помощью SLICK, но, прежде чем заходить слишком далеко, я понял, что столкнулся с проблемами с ограничениями Scala для классов и параметров функции (не более 22).
Я нахожу это совершенно непонятным, что современный ОРМ будет иметь это ограничение. У меня нет проблем с тем, что Scala имеет это ограничение - ведь кто хочет передать 22 параметра функции. Поэтому мой вопрос: зачем создавать библиотеку с этим лимитом? Разумеется, это должно было быть спроектировано для сопоставления с обычными классами? Меня не волнует, если он даже использовал рефлексию, чтобы выполнить свою работу.
Я видел обходные пути для этого, которые требуют разделения классов классов и рекомбинации с использованием неявного преобразования. Но это всего лишь взломать.
Я предполагаю, что если я хочу продолжить использовать Play, тогда я должен переключиться на Java и использовать JPA.
Я полностью осознаю это, но мой вопрос в том, почему дизайн ORM с этим ограничением? Например. Они могли использовать отражение как спящий режим. Я не думаю, что им нужно изменить Скала. –
А, я не совсем понял это из вашего вопроса. Я обновил свой ответ, предположив, почему это ограничение появляется в Slick. – lreeder