Каковы наилучшие параметры доступа к данным для платформы Play с Scala и PostgreSQL?
У нас есть более ранние опыты и много многоразового кода/компонентов, которые в основном выполняются с использованием Spring MVC, Hibernate, PostgreSQL.
Но в последнее время мы планируем начать новый проект. Мы решили использовать платформу Play с Scala. Мы новичок в платформе Play с Scala. Таким образом, мы не могли решить, какую структуру ORM (объектно-реляционное сопоставление) использовать. Из-за большого количества кода многократного использования мы хотим выбрать Hibernate.
Мы нашли страшные слова относительно Hibernate как "JPA с использованием Hibernate в Scala с игрой, это, вероятно, не самый лучший способ, и его следует считать устаревшим и устаревшим". Мы действительно смущены тем, что использовать?
При поиске возможностей мы обнаружили Anorm и Hibernate. Могут существовать другие рамки, которые мы еще не знаем.
Итак, пожалуйста, предложите нам, что использовать для платформы Play с Scala и PostgreSQL?
Спасибо заранее!
Ответы
Ответ 1
Если вы определенно хотите ORM, тогда JPA, вероятно, дорога. Это заставит вас иметь изменяемые классы моделей доменов и т.д., Но, возможно, это компромисс, который вы готовы принять. (Лично я бы не стал)
Если вы открыты для альтернативных способов общения с базой данных, есть несколько интересных вариантов:
Вот довольно хорошее сообщение в блоге, в котором сравниваются разные библиотеки: http://manuel.bernhardt.io/2014/02/04/a-quick-tour-of-relational-database-access-with-scala/
Ответ 2
Взгляните на Skinny ORM.
http://skinny-framework.org/documentation/orm.html
http://blog.seratch.net/post/110711051753/skinny-orm-for-play-framework
Skinny ORM не только очень вдохновлен Rails ActiveRecord, но и достаточно гибким, потому что он построен на библиотеке ScalikeJDBC, которая представляет собой тонкую, но мощную оболочку JDBC.
http://scalikejdbc.org/