Подтвердить что ты не робот

Альтернативы спящему режиму

Что было бы лучшим решением для таких программистов, как http://vimeo.com/28885655

Люди, которые создали видео, верят

  • Во многих случаях спящий режим переполняется
  • Базовый sql - хороший язык, который сдерживает абстракты далеко.

Я слышал о некоторых других реализациях ORM, таких как

Я хотел бы услышать, как они сравниваются и каковы преимущества/недостатки каждого из них.

4b9b3361

Ответ 1

Здесь вы можете найти обширный список решений Java ORM и персистентности. Не все из следующего подхода Hibernate/JPAs, некоторые из них довольно просты по дизайну.

Конечно, есть решения, не перечисленные на этом сайте, т.е. Spring JDBC с шаблонами и т.д.. И это мой личный выбор для проектов, которым требуется быстрый, простой сбор JDBC-доступа и уже использующий Spring.

В общем, для меня, по крайней мере, это немного рано, чтобы сказать, что Hibernate плох, и он вырос до большого. Он хорошо служит, но подходит для многих ботинок. Мое личное мнение заключается в том, что он останется таким, какой он есть, но решения NoSQL, вероятно, родит новую породу решений для отображения данных Java, например Spring Data. Необходимо создать простой подход к взаимодействию с данными приложения, но я не думаю, что есть консенсус относительно того, как туда добраться... пока.

Ответ 2

Ведущий делает хороший пример того, что некоторые структуры слишком сложны. Огромное количество библиотек ORM, по-видимому, является показателем того, что хорошее решение неуловимо.

Github, bitbucket, source forge имеют сотни проектов ORM. Wikipedia также имеет хороший список.

Я придумал sormula как легкую альтернативу сложным фреймворкам, таким как JPA. См. сайт sormula для списка функций и примеров.

Он также содержит пакет, который реализует активный шаблон записи для тех, кто любит этот подход, но не требуется.

Ответ 3

Если вы хотите контролировать использованный SQL и оставаться близким к JDBC вообще, вас может заинтересовать MyBatis, который позволит вам писать свои собственные запросы и предоставляет инфраструктуру для "автоматического" сопоставления ResultSets для POJO на основе метаданных на основе XML или аннотаций.

Выбор будет выглядеть так в XML:

<select id="selectUsers" parameterType="int" resultType="my.User">
 select id, username, password
 from users
 where id = #{id}
</select>

Это будет отображаться для пользователя следующим образом:

<resultMap id="userResultMap" type="my.User">
   <id property="id" column="id" />
   <result property="username" column="user_name"/>
   <result property="password" column="hashed_password"/>
</resultMap>

Со свойствами Bean свойств в POJO my.User