db4o является объектной базой данных, таким образом, нет никакой установки схемы, и он адаптируется хорошо к изменениям в структуре объекта со временем.
При рассмотрении чего-то простого, Вы могли бы также хотеть данные в формате, который можно считать (не двоичный файл или база данных). Если это так, необходимо посмотреть на JAXB (XML Java, Связывающий), который является частью Java 6 и позже. Существуют другие технологии, которые могут делать это лучше, такое как Бобы XML, но этот встроен.
Смотрят на эту страницу от API Java. Это является довольно прямым к сериализации и десериализации объектов Java.
http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBContext.html
В основном Вы используете следующее:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
// unmarshal from foo.xml
Unmarshaller u = jc.createUnmarshaller();
FooObject fooObj = (FooObject)u.unmarshal( new File( "foo.xml" ) );
// marshal to System.out
Marshaller m = jc.createMarshaller();
m.marshal( fooObj, System.out );
Просто удостоверяются, что Ваш FooObject имеет @XmlRootElement аннотацию. Свойства компонента Java автоматически интерпретируются, но можно использовать другие аннотации, чтобы управлять, как XML смотрит и образцовые более сложные объекты.
ObjectOutputStream и ObjectInputStream могут сделать это. Это встроено в Java и позволяет Вам сериализировать/десериализовывать объекты довольно легко.
плохая вещь о них состоит в том, что при изменении объектов, Вы не можете импортировать существующие старые объекты. Необходимо будет думать о способе остаться совместимыми с существующими объектами, которые могли бы уже быть сохранены на компьютере пользователя, таком как добавление номера версии к классам и созданию способности преобразовать старые объекты в новые.
[еще 117] информация здесь:
РЕДАКТИРОВАНИЕ: можно также рассмотреть добавление следующего атрибута ко всем классам сразу. Это может позволить Вам затем добавлять атрибуты к классам и все еще мочь загрузить старые Объектные файлы. На земле RMI это работает, но я не уверен в файлах. Никогда не удаляйте атрибуты все же.
static final long serialVersionUID = 1L;
Посмотрите этот подобный вопрос Легкая альтернатива для спящего режима . Большая часть платформы легкого веса, о которой я знаю, - iBatis
Один простой подход должен сериализировать (как в сериализуемом) Ваши объекты к диску.
Вы могли попробовать XStream, который является библиотекой с открытым исходным кодом. Все, что это делает, превращают Ваш POJOs в XML, который Вы можете затем сохраненный на диск. Это очень просто в использовании и требует, чтобы только несколько строк кода использовали.
Я должен сказать, что начальная кривая обучения для В спящем режиме, относительно мелко. Необходимо смочь разбудить систему тестирования и работающий меньше чем через день. Это только, когда Вы хотите больше расширенных функций, где это начинает становиться более крутым. Я рекомендовал бы определенно смотреть, я имею в виду то, что день, если Вы заканчиваете тем, что не выбрали его?
Однако Вы рассмотрели просто сериализацию Ваших объектов непосредственно к диску, если Вы просто хотите что-то быстрое, n грязный?
Попробуйте Простую персистентность XML http://simple.sourceforge.net . Ее действительно простое и не требует никакой конфигурации. Просто возьмите свой существующий POJOs и аннотируйте их, затем можно считать и записать им в файл. Циклические графы объектов поддерживаются, а также все наборы Java. Это может использоваться как так.
Serializer serializer = new Persister();
MyObject object = serializer.read(MyObject.class, new File("file.xml));
и запись так же, как легкий
serializer.write(myInstance, new File("file.xml"));
, Это - чрезвычайно легкий подход, никакие зависимости кроме стандартного Java 1.5. По сравнению с другим объектом к технологиям XML, таким как JAXB, XStream, Солонка, которые являются иждивенцем на большом количестве других проектов Простой XML, очень легка и эффективная память.
Самая простая опция, о которой я знаю, использует Xstream для создания XML-файла из ЛЮБОГО Java obect.