2010-09-12 3 views

ответ

3

Взгляните на этот вопрос отвечают: How to stores and Pictures in Db40?

Я снова перепечатывать мой ответ, немного обновленный со ссылками на документацию Java:

Есть two basic ways обрабатывать Blobs. Либо вы храните blob в качестве байтового массива в базе данных, либо используете специальный тип db4o-Blob. Оба имеют свои преимущества.

Преимущества/недостатки с байтовый массив:

  • Капли находятся в db4o-базе данных-файла. Таким образом, есть только один файл для копирования.
  • Байт-массивы являются частью обычной транзакции db4o и ведут себя так, как ожидалось.
  • При хранении больших капель, вы можете столкнуться с database-size limitation of db4o. (256 Гб)

Преимущество/Обездоленное с db4o-блобовым

  • Капли хранится в виде обычных файлов вне базы данных. Это делает базу данных самой маленькой. Кроме того, вы можете получить доступ ко всем сохраненным блокам с помощью обычного приложения.
  • Вам всегда нужно скопировать каталог blob и базу данных.
  • db4o-blobs работает вне транзакции db4o. Это означает, что db4o-blob ведет себя иначе, чем любой другой сохраненный объект (и API немного странно). Однако это позволяет получить db4o-blob без блокировки текущей транзакции.

Для вашего случая я бы сохранил массив byte [] с изображением в классе Person. Или вы создаете специальный Image-класс. Этот образ-класс содержит тогда байтовый массив с изображением. И несколько методов для преобразования этого байтового массива из и в Winforms-bitmap.