java - 过滤 getAll 查询结果

标签 java xodus

这是如何使用 Xodus API 限制实体的查询:

final EntityIterable allUsers = txn.getAll(storeName).skip(skip).take(limit);

问题,假设数据库中存储的实体范围从 100k 到 500k 记录,有没有办法根据特定的 Entity 属性过滤结果?

最佳答案

您可以创建一个 EntityIterable,其中实体的属性等于特定值 ( Searching by Property Value )。例如,查找具有指定登录名的用户(属性“login”):

final EntityIterable users = txn.find("User", "login", loginName);

您还可以创建一个 EntityIterable,其中实体的属性值在指定范围 ( Searching in Range of Property Values ) 内。例如,查找年龄在[17-23]范围内的用户,包括:

final EntityIterable students = txn.find("User", "age", 17, 23);

关于java - 过滤 getAll 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51923960/

相关文章:

java - 转换为阿拉伯数字时出现 ArrayIndexOutOfBoundsException 中断

java - 通过 Java 反射重新创建(通用)成员并填充/分配字段成员

java - 使用 Apache HttpClient 如何在请求和响应中设置 TIMEOUT

java - 如何在 GWT UiBinder 中引用 Widget?

java - Spring 测试 - @ContextConfiguration 无法加载资源

java - 最近 Xodus 版本中的服务提供商接口(interface)

java - jetbrains.出埃及记.ExodusException : Can't acquire environment lock after 0 ms

java - Xodus中的put和delete都可以是事务吗?