Easy Java ORM для небольших проектов
В настоящее время я ищу очень простой способ получить простые объекты Java, которые сохраняются в Базах данных и/или XML и/или в других типах хранилищ данных.
Для больших проектов в компании я бы использовал hibernate, ibatis, datanucleus или что-то в этом роде. Но с небольшими частными проектами это займет более 80% рабочего времени.
Я также нашел "simpleORM", но для этого требуется довольно сложно кодировать данные, связанные с данными, в классы модели данных. Мне не нравится этот стиль, поэтому для меня это не вариант.
Есть ли у вас предложение для некоторой библиотеки, которая просто берет мои объекты и сохраняет/загружает их так, как они есть, или с очень небольшой конфигурацией?
Ответы
Ответ 1
Вы можете попробовать ORMLite, который был разработан как простая замена для спящего режима и iBatis. Я главный автор. Он поддерживает несколько баз данных JDBC и имеет бэкэнд Android. Вот раздел, посвященный началу работы руководства, в котором есть примеры кода.
http://ormlite.com/docs/getting-started
Здесь также приведены примеры простых шаблонов использования.
http://ormlite.com/docs/examples
Ответ 2
Вы можете просто сериализовать свои объекты в файл/базу данных.
Если вы хотите определить сопоставление, вам придется перейти на более полную конфигурацию, и стандартные ИЛИ-карты (например, Hibernate) на самом деле не добавляют это намного больше.
Ответ 3
Вы можете попробовать xstream. Это очень простая библиотека OXM, работающая без предварительной настройки.
Пример кода:
XStream xstream = new XStream();
// marshalling
String xml = xstream.toXML(domainObject);
// unmarshalling
domainObject = xstream.fromXML(xml);
Ответ 4
Попробуйте Norm. Это легкий слой над JDBC. Он добавляет почти нулевые накладные расходы на вызовы JDBC и очень легко учится.
Ответ 5
Для сохранения реляционной базы данных используйте одну из JPA, например OpenJPA.
Накладные расходы на установку минимальны. Вы можете позволить JPA создать вашу схему и таблицы для ваших определений объектов, поэтому вам не нужно вручную запускать любой sql. Все, что вам нужно предоставить, - это аннотации для ваших сущностей и один файл конфигурации, persistence.xml.
Ответ 6
Возможно, вы захотите рассмотреть www.sormula.org. Минимальное программирование/аннотации и простая кривая обучения. Он использует стандартные SQL и JDBC, поэтому будет работать с любым реляционным db.
Ответ 7
Вы также можете использовать jEasyORM (http://jeasyorm.sourceforge.net/).
В большинстве случаев он автоматически сопоставляет объекты с таблицами базы данных без необходимости настройки.
Ответ 8
Ну, если вы хотите ORM, то это означает, что вы хотите сопоставить объекты с таблицами, столбцами с полями и т.д. В этом случае, если вы хотите избежать проблем с большими реализациями ORM, вы можете просто использовать простой старый JDBC, с простыми шаблонами DataAccessor. Но тогда это не переводится в XML напрямую.
Если вы хотите просто сохранить объект где-то и только заботиться о "понимании" объекта в Java, сериализация - простой эффективный метод, как упоминалось ранее Thomas.
Ответ 9
U может попробовать SnakeORM http://sourceforge.net/p/selibs/wiki/Home/
Он не имеет много зависимостей времени выполнения, использует аннотации JPA и следует шаблону DAO.
Раскрытие информации: Я являюсь автором этого проекта
Ответ 10
База данных Onyx - это очень богатая функциональность базы данных Java NoSQL. Это чистая java с несколькими сохраняющимися режимами (кэширование, встроенная база данных, сохранение в удаленный и сохранение в удаленном кластере). Она масштабируется, имеет встроенный ORM и, вероятно, является самым легким API-интерфейсом, который я когда-либо использовал.