使用Objectify + google appengine进行不区分大小写的过滤器查询

时间:2011-06-01 12:24:14

标签: java google-app-engine case-insensitive objectify

是否有一种简单的方法可以使用Objectify + google appengine(Java)进行不区分大小写的过滤器查询?基本上这是我想要做的,除了我需要电子邮件上的过滤器不区分大小写。

Objectify objectifyService = ObjectifyService.begin();
objectifyService.query(AppUser.class).filter("email", email).get();

2 个答案:

答案 0 :(得分:7)

您需要在数据存储区中以标准化(例如小写或大写)形式存储您的电子邮件地址,并对其进行查询。如果您还需要原始未修改的电子邮件地址,则应单独存储。

答案 1 :(得分:0)

如果是查询,我们会将所有内容转换为类似的案例,然后进行比较。

select * from account where upper(email) = upper('test@gmail.com');

在你的情况下,你可以试试。

objectifyService.query(AppUser.class).filter("upper(email)", email.toUpperCase()).get();

我不确定这是否适用于Objectify,你可以尝试一下。