2010-04-30 4 views
5

У меня есть переменная в java, возвращающим тип которой является Object (java.lang.Object). Я хочу сохранить это значение переменной в базе данных MySQL без использования каких-либо других примитивных типов данных. Есть ли какой-либо тип данных, доступный в MySQL, связанный с Object?Хотите сохранить объект в базе данных MySQL

+3

Обратите внимание на то, что хранить в сериализованном объекте в базе данных (за исключением, возможно, временно), как правило, не рекомендуется, поскольку изменение класса объекта может привести к тому, что сериализованный объект, хранящийся в базе данных, несовместим с ним. – ColinD

+1

Это было бы легко сделать. Посмотрите на ORM или OODBMS. http://en.wikipedia.org/wiki/Object-relational_mapping и http://en.wikipedia.org/wiki/Object_database –

ответ

5

Вы можете использовать BLOB для хранения необработанных данных, но в противном случае MySQL не имеет типа данных специально для объекта java.

В качестве побочного примечания. Вероятно, вы не должны хранить необработанный объект в базе данных, что мешает вам выполнять какие-либо запросы на нем.

+0

thanks webdestroya – kandarp

+0

Нет проблем. Обязательно отметьте вопрос как ответ! –

2

BLOB мог это сделать. Сериализуйте объект в массив байтов и INSERT, как BLOB.

3

Вы все равно должны сериализовать объект, чтобы вы могли также сериализоваться в XML или JSON. Я бы хотел, чтобы я читал форму для хранения данных. Посмотрите, например, на Xstream. Отличный, потокобезопасный инструмент для сортировки/разборки.

Я предполагаю, конечно, что ваш объект является компонентом/POJO.

+0

Мертвая ссылка, попробуйте эту ссылку http://x-stream.github.io –

Смежные вопросы