2014-11-25 62 views
0

我正在使用Ojectify存储数据存储,我有一个实体,当我保留它时,如果保存更改,但在浏览器中显示它有时会显示我以前的数据,有时会显示新的数据。Objectify不返回新数据

@Entity 
public class BrandDto { 
    @Id 
    private Long id; 
    @Index 
    private String name; 

    @Index 
    private List<Ref<UserDto>> users; 

    @Index 
    private Integer numeroFollowers; 

    getters and setters ..... 
} 

它发生在usersnumeroFollowers领域。

我作如下更新此数据:

UserDto user = ofy().load().type(UserDto.class).id(p_userId).now(); 
if (user != null) { 
    BrandDto brand = ofy().load().type(BrandDto.class).id(p_brandId).now(); //get(p_brandId); 
    List<UserDto> users = brand.getUsers() != null ? brand.getUsers() : new ArrayList<UserDto>(); 
    if (!users.contains(user)) { 
     users.add(user); 
    } 
    brand.setUsers(users); 
    brand.setNumeroFollowers(users.size()); 
    ofy().save().entity(brand).now(); 
    return true; 
} else { 
    return false; 
} 

和我读到如下:

List<BrandDto> brands = ofy().load().type(BrandDto.class).list(); 

,我用其他查询:

UserDto user = ofy().load().type(UserDto.class).id(p_userId).now(); 
Ref<UserDto> ref = Ref.create(user); 
List<BrandDto> brands = ofy().load().type(BrandDto.class).filter("users", ref).list(); 

回答