绿刀如何使用一个查询四个属性



我试着用绿刀写一个查询,不知道怎么说我想说的话,我有3个属性,我的查询集中在CardIconType, Type_of_word和Type_of_type(可怕的命名约定,但请不要专注于此)我想返回的是CardIconType的所有项目都说"ORIGINAL"和CardIconType的所有项目都说"USER",但只有当Type_of_type是"PRONOUN"和Type_of_word是"quick"

WHAT I'VE try

到目前为止,我试过了

qb.where(addNewCardDao.Properties.CardIconType.eq("ORIGINAL"),
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));
            leaseList = qb.list();

解决了我的问题的一半,它返回"ORIGINAL"的所有对象,其中Type_of_type是"代词和Type_of_word是"快速",我的第一个想法是再次为用户这样做并加入列表,但我不认为这是最好的方法,所以我然后尝试了这个

 qb.where(addNewCardDao.Properties.CardIconType.eq("SIMPLE"),
                    qb.or(addNewCardDao.Properties.CardIconType.gt("USER"),
 qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"), 
 addNewCardDao.Properties.Type_of_word.ge("QUICKS"))));
            leaseList = qb.list();

但是没有乐趣,有人能帮我吗?

使用QueryBuilder.in()方法查找一个属性中的多个值

String[] strings = {"ORIGINAL", "USER"};
qb.where(addNewCardDao.Properties.CardIconType.in(strings),

然后添加额外的限制:

qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));

然后把它列出来:

leaseList = qb.list();

相关内容

  • 没有找到相关文章

最新更新