我得到了以下数据结构
@Entity
public class Publication {
private Map<Integer, Author> authors;
// more stuff
}
@Entity
public class Author {
private String name;
// more stuff
}
我正在寻找一个查询dsl谓词,它给我的所有出版物,其中任何Author.name包含某个字符串,例如“汉斯”
我试过了:
QPublication publication = QPublication.publication;
QAuthor author = QAuthor.author;
publication.authors.containsValue(JPAExpressions.selectFrom(author).where(author.lastName.containsIgnoreCase("Hans")));
但是,如果有多个作者在名称中包含“Hans”,则这是抱怨。有没有像出版一样的书,任何价值().name.等于伊朗的情况(“汉斯”)
就像一个集合?
我想你错过了布尔建设者
在您的存储库中-试试这个
QPublication publication = QPublication.publication;
QAuthor author = QAuthor.author;
BooleanBuilder where= new BooleanBuilder();
where.and(publication.author.name.containsIgnoreCase(textToSearch));
//pass the where condition to the desired Repo method
repo.findAll(where);
我找到了一个带有联接和自定义存储库实现的解决方案:
public class PublicationRepositoryImpl extends QueryDslRepositorySupport
implements PublicationRepositoryCustom {
@Override
public Page<Publication> findByAnyAuthorName(String name, PageRequest pageRequest) {
QPublication publication = QPublication.publication;
JPQLQuery<Publication> query = from(publication);
QAuthor author = QAuthor.author;
query.join(publication.authors, author);
query.where(author.name.containsIgnoreCase(name);
JPQLQuery<Publication> pagedQuery = getQuerydsl()
.applyPagination(pageRequest, query);
return PageableExecutionUtils.getPage(pagedQuery.fetch(), pageRequest,
() -> query.fetchCount());
}
在mapper中,我调用了一个proc'xyz',它返回所查询的ProcessType表的行列表的光标。
问题内容: 考虑表 这是使用查询生成的视图 我想为总销售额创建一个实体,但没有sql端的视图。 该实体将通过查询构造。我发现的最接近的东西是 this ,但是我无法使其工作。 即使我定义了加载器,hibernate也会查找实体表并在找不到时给出错误。如果我创建表,它不会从我定义的命名查询中加载实体,Hibernate会生成查询本身。 有没有一种方法可以使@Loader工作,或者有另一种我可以将查询
我对是新手,这就是我要做的。基本上,目标是将数据从Excel加载到SQL Server。有两个列表,一个是键,另一个是值。如何调用这两个列表来运行批处理SQL语句? 这是我到目前为止所拥有的: > < li> 通过这样做,似乎Groovy会将整个列表视为一个大字符串。我可以将列表输出为字符串,并删除单引号,但这似乎并不酷。我们能参数化列表中的字段吗? 对于k列表,我是否需要对所有字段使用单引号,如
我有两个表名称LeftTable和RightTable如下 左表 右表 现在,当我在某种条件下离开join时,输出将如下所示 结果表 这个左连接帮助我在应用程序中实现一对多关系。 左连接条件在我的应用程序中是动态的。这只是我在这里展示的一个例子。假设上例中的左连接条件是LeftTable。淫秽的 如上所述,一对一的输出如下 我通过两种方式实现了这一功能: 使用游标 使用选择查询一个接一个地获取记录
我正在测试返回地图的控制器 测试: 我应该使用哪个表达式从映射中读取键和值? 编辑:解决这个问题的方法可能是: 然后循环通过地图检查值。但是,有没有一种方法可以使用<code>jsonPath</code>来实现这一点?