如何使用JDOQL
从以下结构中的HashMap
获取特定条目:
class User {
String username;
Map<String, String> projects; //project name serves as the key
}
user.setUsername("John");
user.getProjects().add("Test Project", "Content");
我现在想要查找用户“John”并获取名为“Test Project”的项目的内容(HasMaph.value
)。
以下将选择User
本身。我可以重写查询,以便直接获取特定项目内容而无需检索用户吗?
Query q = pm.newQuery("SELECT UNIQUE path.to.User WHERE username == :username" AND projects.contains(project)");
User user = (User) q.execute("John", "Test Project");
user.get("Test Project);