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-интерфейсом, который я когда-либо использовал.