2015-02-06 22 views
0

我正在使用objectify 4.0.1的google數據存儲來存儲消息。每條消息都有一個附加評論列表。爲什麼objectify會返回不一致的數據?

消息ID 5708313257836544有16評論。在10:34:08添加了第17條評論。 12:01:46的GET顯示消息有17條評論,12:02的另一條顯示它有16條,而12:04的下一條返回17。沒有評論已被刪除。

的代碼如下:

@Entity 
public class Message { 
    @Id private Long id; 

    private List<Comment> comments; 
    //getters and setters 
    //equals and hashcode over-ridden using id 
} 



@Embed 
public class Comment { 

    private String message; 
    private Date date; 

    public String getMessage() { 
     return message; 
    } 

    public void setMessage(String message) { 
     this.message = message; 
    } 

    public Date getDate() { 
     return date; 
    } 

    public int hashCode() { 
     return date.hashCode() * message.hashCode(); 
    } 

    public boolean equals(Object obj) { 
     if (obj==this) 
      return true; 
     if (!(obj instanceof Comment)) 
      return false; 
     Comment other = (Comment) obj; 
     return other.getMessage().equals(message) && other.getDate().equals(date); 
    } 

我還沒有啓用高速緩存這些對象與@Cache註解。

爲什麼會發生這種不一致,我該如何預防呢?

+0

你還沒有顯示任何獲取它的代碼。如果您的提取代碼是查詢,它將顯示最終的一致性。如果它是通過鑰匙,你會看到別的東西 - 也許你沒有安裝ObjectifyFilter? – stickfigure 2015-02-06 17:28:58

回答

相關問題