Кто-нибудь, работающий на Android («gPhone»), знает или знает место, где я могу найти для него хороший инструмент ORM? Код написан на Java, а база данных - SQLite. То, что я хотел бы найти, это инструмент, который дает определение объекта, может автоматически генерировать таблицы и функции CRUD (это было бы здорово), или, если не считать этого, инструмент, который может принимать определение таблицы, определение объекта, и автоматически генерировать функциональность CRUD. Проблема в том, что все это должно происходить в рамках Android, которая имеет свои собственные соглашения о том, как работает доступ к базе данных.
285
Ответы:
Думаю, я просто добавлю свои 0,02 доллара о пакете ORMLite .
Это легкая замена Hibernate и использует собственные вызовы базы данных ОС Android для поддержки SQLite на Android. Он также поддерживает множество других типов баз данных, использующих JDBC на других архитектурах. У нас есть список рассылки Android для вопросов ORMLite.
источник
Этот вопрос не может устареть, но предложенные рамки могут. Итак, вот первый список того, что я считаю важным в таких рамках для сравнения:
А вот список фреймворков с примечаниями по пунктам выше. Я посмотрел больше на aBatis и Hadi, но я добавил только те, которые были активны после 2011 года.
Я не пробовал ни одного из них, но, возможно, я смогу сэкономить немного времени читателям, перечислив в настоящее время активные проекты. Пожалуйста, добавьте комментарий, если вам известны другие проекты, которые удовлетворяют некоторым из вышеперечисленных пунктов и имеют серьезное развитие (в течение некоторого времени).
РЕДАКТИРОВАТЬ (ноябрь 2013 г.): обновлен список с учетом текущего состояния проектов. Некоторые из них добавили теги релиза в свои репозитории github, а также поддержку Maven / Gradle. Хорошая работа!
РЕДАКТИРОВАТЬ (апрель 2015 г.): обновлен список, добавлены Sprinkles (согласно комментарию @AndroidGecko) и Realm.io.
источник
Если производительность и размер кода имеют значение, проверьте greenDAO . Я его автор, и моей мотивацией для создания другого ORM было избежать отражения в горячих точках. Оказалось, что greenDAO может быть в 4 раза быстрее, чем ORMLite. Проверьте страницу функции для деталей.
источник
Я не знаю ничего, о чем вы просите, но есть альтернатива SQLite, которая может оказаться полезной, если ваши требования к архитектуре гибкие. Возможно, стоит проверить db4o :
источник
ActiveAndroid
($ 20)выглядит так, как будто это именно то, что вам нужно.источник
Мне понравился ActiveAndroid. Это написано специально для Android, кажется. Это чувствует себя как плюс для меня.
У меня есть некоторый опыт работы с Ruby on Rails, и если вам нравится RailR-способ ActiveRecord, вы можете очень быстро начать работать с этой библиотекой.
https://www.activeandroid.com/
источник
https://github.com/ahmetalpbalkan/orman
Orman Framework может помочь вам. Он специально разработан для этого, очень маленький и полезный.
источник
Я также ищу ORM на Android. Я протестировал ActiveAndroid , NeoDatis и db4o , и я думаю, что я буду использовать один из двух последних.
NeoDatis и db4o действительно похожи, поэтому я хотел бы дать несколько советов, чтобы выбрать лучший. Кто-то использует один из них в своем проекте? Я буду использовать его для бесплатного и платного приложения, но похоже, что у этих двух нет никаких ограничений лицензии для Android.
Существует ориентир здесь , что , кажется, говорят , что NeoDatis быстрее , чем db4o, но я не знаю , если мы можем основывать свое мнение на этот счет .
источник
Еще один новичок: Android-Active-запись. Это очень легкий и простой в использовании каркас персистентности для Android, поддерживаемый SQLite http://code.google.com/p/android-active-record/
источник
ActiveRecordJS от Aptana - это Javascript ORM, который должен работать на gPhone. Он предназначен для работы с Jaxer и Gears. Когда вы используете адаптеры Jaxer, вы можете подключиться к SQLLite.
ОБНОВЛЕНИЕ: я не думаю, что я ясно дал понять, но ActiveRecordJS - это ORM, который работает на стороне клиента, что может быть преимуществом для вас на gPhone.
источник
http://hadi.sourceforge.net
Этот инструмент очень прост и удобен в использовании.
источник
Я разработал собственную реализацию JPA ORM для Android. Он еще не полностью завершен, но вы можете аннотировать класс с помощью аннотаций @Entity, @Id, @Column и получать объекты JPA, которые можно сохранять и извлекать из базы данных SQLite. Прежде чем я опубликую его для публики, нужно еще кое-что добавить и очистить, но если будет достаточно интереса, это может ускорить мои усилия.
источник
Хотя это старый пост, тема все еще актуальна. Поэтому я хочу поделиться интересной статьей и хорошим подходом к решению большинства проблем, упомянутых в вопросе:
http://blog.codecentric.de/en/2011/04/android-persistence-accelerated-small-inhouse-orm/
Надеюсь, кто-нибудь найдет это полезным, как и я!
источник
Мой собственный DroidParts /http://droidparts.org/ только что достиг версии 0.5. Это библиотека DI / ORM и многое другое.
Не много документации, но включает в себя пример приложения.
источник
Был негативный опыт с db4o (v. 8): индексация не работала должным образом (исключение и т. Д.). Поэтому мне не удалось избежать создания дубликатов во внешних таблицах при наличии объекта в структуре объекта. Более подробное объяснение в моем вопросе . Надеюсь, однажды это будет лучше.
источник