2011-01-02 2 views
0

Я столкнулся с странным поведением db4o. Когда я сохраняю объект (реализующий Serializable) с атрибутом Serializable [], массив возвращается только один раз из хранилища правильно, а затем только после массива с нулевыми элементами.Атрибут Serializable [] в объекте, не сохраненном в db4o

Я использую db4o 7.12.

Редактировать

Это POJO:

public class ResponseRowWrapper implements Serializable { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 


private long uuid; 
private long responseUuid; 
private Serializable[] row; 
private long timestamp; 

И это конфиг весной:

 <property name="transparentActivation" value="true" /> 
    <property name="transparentPersistence" value="true" /> 
    <property name="configurationCreationMode" value="NEW" /> 
    <property name="lockDatabaseFile" value="false" /> 
    <property name="callConstructors" value="true" /> 
    <property name="exceptionsOnNotStorable" value="true" /> 

и в db4o Config объекта:

configuration.common().objectClass(ResponseRowWrapper.class).cascadeOnUpdate(true); 
+0

Показать код. – Bozho

ответ

0

Я решил это, но я не могу сказать, что случилось с Serializable [], но он не работает, мне нужно использовать Object [] и просто заботиться о себе, что внутри есть только Serializables.

1

Попробуйте передать объект конфигурации db4o cascadeOnActivate (true) (который вызывает каскадную нагрузку) или установите более высокую глубину активации в db4o.

+0

спасибо за ответ, но я понял, что необходимо использовать Object [] для хранения массива Serializables. Но в следующий раз мне нужно что-то подобное, я попробую ваше решение! – joecks