2010-03-10 2 views
9

Есть ли какой-либо activetecord реализация для Java?Activerecord for Java

+0

Возможный дубликат [Есть ли реализация шаблона ActiveRecord в Java, как и у Ruby?] (Http://stackoverflow.com/questions/548861/is-there-an-implementation-of-the-activerecord -pattern-in-java-like-the-one-from) – ericbn

+0

ActiveJDBC - лучшее, что я думаю. http://javalite.io/activejdbc – kodmanyagha

ответ

1

В Java это является более популярным использовать ORMS как Hibernate, EclipseLink, OpenJPA.

JPA определяет стандарт, который приведен выше.

+0

Да, я предпочитаю Hibernate для большинства моих вещей на работе. Я изучал что-то на Ruby и нашел это интересным. Я не могу использовать JRuby на работе, поэтому ищу некоторые варианты. – Hari

2

Есть несколько попыток, но Java не поддерживает Open Classes или method_missing, как в Ruby. Поэтому запись по определению не будет «активной», как вы могли бы найти в рельсах.

Некоторые попытки активной записи в Java:

http://www.javalobby.org/articles/activeobjects/

http://arjava.sourceforge.net/

Java-сообщество, вероятно, благоприятствует JPA. Если вы ищете что-то немного ближе к Rails, но все еще на Java, взгляните на Play Framework.

+0

Ну, Java не обеспечивает немедленную реализацию method_missing, однако динамические прокси доказывают довольно хороший аналог, как в этой статье объясняет: http://gaedo.origo.ethz.ch/blog/%5Buser-raw%5D/method_missing_vs_invokelater_which_is_more_dynamic – Riduidel

+0

ActiveRecord реализация на Java не обязательно является портом из Rails с отсутствующим методом и т. д. В конце концов, Active Record является шаблоном проектирования (http://en.wikipedia.org/wiki/Active_record_pattern), а реализация Rails - это одна из форм. Полную реализацию Java Active Record * Pattern *, а также остальных инструментов, подобных Rails, можно найти в проектах JavaLite: http://javalite.io/ – ipolevoy

+0

Правда, Java не поддерживает Open Classes или method_missing. В книге шаблонов проектирования укажите несколько шаблонов, например шаблон посетителя, в котором можно использовать похожие идеи. Можете ли вы порекомендовать шаблон дизайна, чтобы подражать идее Open Classes и method_missing? – Donato

0

Я только добавил активные функции записи в sormula в версиях 1.7 и 2.1. См. Пакет org.sormula.active в проекте и см. active-record-example.