Hi,

I tried to directly insert a Java object from typ mottrow.MItem to the table ITEMS in my embedded Derby DB. But I got the following error:

java.sql.SQLException: An attempt was made to get a data value of type 'BLOB' from a data value of type ' mottrow.MItem'

In the query I used, I had defined the row ITEM to the typ BLOB, because with the typ JAVA_OBJECT I got an error. In the derby documentation I have read that the a JAVA_OBJECT is stored as BLOB in the DB, so I defined it directly as BLOB.

SQL query used to create table:

String query = "create table APP.ITEMS (" +
                    "ID INT NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)," +
                    "ITEM BLOB," +
                    "LEVEL INT NOT NULL," +
                    "OWNER VARCHAR(30)," +
                    "LASTACCESS DATE," +
                    "FORMERLEVEL INTEGER NOT NULL )";

Statement to insert my JAVA_OBJECT:

            PreparedStatement stmt = con.prepareStatement("insert into APP.ITEMS (ITEM) VALUES (?)");
            stmt.setObject(1,item);
            stmt.addBatch ( );

Does somebody knows a solution for this problem?


Sincerely

Kevin