gpt4 book ai didi

java - 无法使用 objectify 从数据存储中获取对象

转载 作者:行者123 更新时间:2023-12-01 13:30:38 25 4
gpt4 key购买 nike

我正在开发一个简单的费用管理器,它将部署在 google appengine 上。我使用 objectify 作为 Appengine ORM。现在的问题是我无法从数据存储中获取简单的对象。这里的Session始终为空!但是当我在本地主机数据存储中检查它时,我可以看到它就在那里!

@Override
public String findEmailBySessionId(String sid) {
Session session = datastore.load().type(Session.class).id(sid).now();
if (session != null && (session.getDate().after(new Date()) || session.isToBeRemembered())) {
return session.getEmail();
} // this is always null !
return null;
}
<小时/>
@Entity
public class Session {


private String email;

@Id
private String sessionId;

private Date date;

private boolean toBeRemembered;

@Parent
private Key<User> parent;
.........
}
<小时/>
@Entity
public class User {

@Id
private String email;

private String name;
private String password;
private Date dateOfBirth;
private String hashSalt;

public User() {
}

最佳答案

好吧,我已经得到答案了,但它很愚蠢。其实这是非常愚蠢的。

在谷歌文档中有一个查询限制:

*对未索引的属性进行过滤不会返回任何结果!!!! * link为了让 objectify 索引一个属性,该属性应该使用 @Index 注释进行注释。在上面的代码中,我忘记在 date 上添加 @Index 注释!这就是问题所在。当我把注释放回去后,一切都恢复正常。

关于java - 无法使用 objectify 从数据存储中获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com