2010-04-30 28 views
5

Tengo una variable en java cuyo tipo de devolución es Object (java.lang.Object). Quiero almacenar este valor de variable en la base de datos MySQL sin convertir en ningún otro tipo de datos primitivos. ¿Hay algún tipo de datos disponible en MySQL relacionado con Object?Desea almacenar objetos en la base de datos MySQL

+3

Tenga en cuenta que generalmente no es una buena idea almacenar un objeto serializado en una base de datos (que no sea temporalmente) porque un cambio en la clase del objeto podría hacer que el objeto serializado almacenado en la base de datos sea incompatible. – ColinD

+1

Eso seguro haría las cosas más fáciles. Mire en ORM u OOBBMS. http://en.wikipedia.org/wiki/Object-relational_mapping y http://en.wikipedia.org/wiki/Object_database –

Respuesta

5

Puede usar un BLOB para almacenar los datos sin formato, pero de lo contrario no, MySQL no tiene un tipo de datos específico para un objeto java.

Como nota al margen: es probable que no deba almacenar un objeto sin formato en la base de datos, lo que le impide realizar cualquier tipo de consulta sobre él.

+0

gracias webdestroya – kandarp

+0

No hay problema. ¡Asegúrese de marcar la pregunta como respondida! –

2

BLOB podría hacerlo. Serialice el objeto en una matriz de bytes e INSÉRTELO como un BLOB.

3

Debe serializar el objeto de todos modos, por lo que también puede serializar en XML o JSON. Una forma de almacenamiento legible para los humanos es lo que preferiría. Eche un vistazo a Xstream por ejemplo. Una herramienta excelente y segura para marshalling/unmarshalling.

Supongo, por supuesto, que su Objeto es un Bean/POJO.

+0

Enlace muerto, prueba este http://x-stream.github.io –

Cuestiones relacionadas