Reputation: 5047
I have a variable in java which return type is Object(java.lang.Object). I want to store this variable value in MySQL database without casting in any other primitive data type. Is there any data type available in MySQL related to Object?
Upvotes: 7
Views: 19023
Reputation: 55
I'm not sure what do you mean by Object(java.lang.Object)
. but I think if you tried JSON datatype in MySQL it'll work fine.
create table person (name JSON );
INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');
or
INSERT INTO person VALUES (JSON_OBJECT("pid",103,"name", "name3"));
Upvotes: 0
Reputation: 4799
You must serialize the Object anyway, so you could serialize to XML or JSON aswell. A human readable storage form is what I would prefer. Have a look at Xstream for example. A great, threadsafe tool for marshalling/unmarshalling.
I assume of course, that your Object is a Bean/POJO.
Upvotes: 3
Reputation: 39869
You can use a BLOB
to store the raw data, but otherwise no, MySQL does not have a datatype specifically for a java object.
As a side note: You probably shouldn't be storing a raw object into the database, that kind of prevents you from doing any sort of queries on it.
Upvotes: 6
Reputation: 308743
BLOB could do it. Serialize the object into a byte array and INSERT that as a BLOB.
Upvotes: 2