Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Storing Object into Database (http://www.go4expert.com/forums/storing-object-database-t2100/)

hemanthjava 2Dec2006 02:42

Storing Object into Database
 
I have a Person Object with attributes like name, age, sex etc which I wanna store in the sybase database. The column in which it is to be stored is of "text" datatype.

I have converted the object into a Byte Output Stream and stored the object as a Byte Array in to the database. I have done something like this..
Code:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oout = new ObjectOutputStream(baos);
oout.writeObject(obj);
oout.close();
ps.setBytes(1, baos.toByteArray());


Now when I want to read the object from the database I did something like this..

Code:

byte[] buf = rs.getBytes(column);
if (buf != null) {
ObjectInputStream objectIn = new ObjectInputStream(
                new ByteArrayInputStream(buf));
                Object obj = objectIn.readObject();                //Contains the object
                PersonDetails p = (PersonDetails)obj;
                System.out.println(p.getName()+"\t"+p.getAge()+"\t"+p.getSex());
}


I used rs.getBytes and do the following as shown above. Gives me an sql exception. I used getClob also. Still it gives me some sql exception. What I want is the object back. How do I get it back.


Basically My sybase column datatype is "text". Is there a better way to serialize the object and store in the databse. If there is one please let me know. Note that I cant change the type of column type (text) to any other type...


All times are GMT +5.5. The time now is 17:51.