Я думаю, что проблема, с которой сталкивается Дедало, заключается в том, что он работает с массивами (я полагаю, что один из них зубчатый, а другой - многомерный), и он хочет сериализовать их в блоб.
Но массивы напрямую не сериализуются, поэтому он спрашивает, как это сделать.
Самый простой способ сделать это - перебрать массив и построить строку, как предложил Дейв, и сохранить строку. Это позволит вам просматривать содержимое из значения в базе данных вместо того, чтобы десериализовать данные всякий раз, когда вам потребуется их вскрыть, как указывает Даффимо.
Если вы хотите знать, как сериализовать массив в BLOB ... (это выглядит как перебор)
Вы можете сериализовать одномерные массивы и зубчатые массивы , например ::
public class Test {
public static void main(String[] args) throws Exception {
// Serialize an int[]
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("test.ser"));
out.writeObject(new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9});
out.flush();
out.close();
// Deserialize the int[]
ObjectInputStream in = new ObjectInputStream(new FileInputStream("test.ser"));
int[] array = (int[]) in.readObject();
in.close();
// Print out contents of deserialized int[]
System.out.println("It is " + (array instanceof Serializable) + " that int[] implements Serializable");
System.out.print("Deserialized array: " + array[0]);
for (int i=1; i<array.length; i++) {
System.out.print(", " + array[i]);
}
System.out.println();
}
}
Что касается типа данных для хранения, как в MySQL, есть только четыре типа BLOB-объектов на выбор :
The four BLOB types are TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB
Выбор лучшего зависит от размера сериализованного объекта. Я предположил бы, что BLOB
было бы достаточно хорошо.