robospice不会缓存POJO类的关系

时间:2013-05-08 00:17:00

标签: android spring jackson robospice

我正在使用robospice,spring和jackson处理Android应用程序。一切正常,但缓存结果不具有POJO类的关系。

例如;

public class User extends SampleBase {
    public int id;
    public String name;
    public Address address;
}

public class Address extends SampleBase {
    public int id;
    public String street;
    public String city;
}

public class SampleBase {
    // Base class of all POJO classes
}

当我发送获取用户的请求时,我会正确获取所有值。但是,当我尝试从缓存中获取用户时,地址字段返回null。如果两个类之间存在关系,那么这些关系字段为空,但其他字段都可以。

请求结果:

User:
    id:       1
    name:     "Test User"
    address:  Address Object

缓存的结果:

User:
    id:       1
    name:     "Test User"
    address:  null

在我的设计中,所有POJO类都扩展了SampleBase。并且只有一个RequestListener:

public class SampleRequestListener implements RequestListener<SampleBase> {

     @Override
     public void onRequestSuccess(SampleBase result) {
         // Some operations
     }

     @Override
     public void onRequestFailure(SpiceException e) {
         // Some operations
     }
}

我不知道它是否与我的请求监听器有关,但在发送请求时工作正常。我还应该做些什么来获取缓存对象的相关对象?

1 个答案:

答案 0 :(得分:0)

奇怪的是,我们经常这样做而且工作正常。尝试在jackson论坛上找到一些解决方案,RS只是一个包装器。