public class Contact{
@OneToMany(mappedBy = "contact")
@OrderBy("startDate DESC")
@IndexedEmbedded
private List<AddressTemporal> addressHistory;
}
AddressTemporal类
public class AddressTemporal{
@NotNull
@ManyToOne
@ContainedIn
private Contact contact;
@Field(index = Index.YES, analyze = Analyze.YES, store = Store.NO, indexNullAs = Constants.LUCENE_NULL)
@DateBridge(resolution = Resolution.DAY)
private Date endDate;
}
我已经将lucene配置为使用字符串常量(“null”)索引空字段,这样我就可以使用该值查询空字段。
我的问题是,我需要执行一个查询,该查询将在AddresshiStory
集合中搜索,但只筛选那些whereenddate
字段为空的查询。现在
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
fullTextEntityManager.createIndexer().startAndWait();
QContact c = new QContact("contact");
SearchQuery<Contact> query = new SearchQuery<> fullTextEntityManager.unwrap(FullTextSession.class), c)
query.where(c.addressHistory.any().endDate.isNotNull());
query.where(c.addressHistory.any().endDate.eq(Constants.LUCENE_NULL));
谢谢
乌利塞斯
试试这个
queryBuilder queryBuilder=fulltextsession.getSearchFactory().buildQueryBuilder().forEntity(project.class).get();
querybuilder.keyword().onfield(fieldName).ignoreFieldBridge().matching(“null”).createquery()
我试图使用querydsl-collections,但未能编写简单的groupBy表达式。以下是我的尝试: 但当我试着运行它的时候。我得到:
而且 现在的问题是: > 我必须如何在ALL_ORDERS子查询的底部执行联接?我已经尝试了以下操作: null 感谢任何帮助。
我得到了以下数据结构 我正在寻找一个查询dsl谓词,它给我的所有出版物,其中任何Author.name包含某个字符串,例如“汉斯” 我试过了: 但是,如果有多个作者在名称中包含“Hans”,则这是抱怨。有没有像出版一样就像一个集合?
问题内容: 我是Spring数据JPA的新手,正在尝试了解如何最好地将其与QueryDSL结合使用。没有QueryDSL,我将可以在SpringData接口中使用@Query注释简单地创建任何查询。 为了获得与使用QueryDSL相同的经验,从我可以看到的角度来看,我需要创建自己的自定义存储库实现,并使我的repo接口扩展我的自定义实现接口,或者将我的所有QueryDSL查询放在包装我的repo的
在一个项目中,我有以下实体:具有连接到关键字的模板部分的模板。这两种关系都是。一些代码: 然后,我尝试使用给定ID查找与某个模板相关的关键字。我使用使用此谓词执行此操作: 由于某些原因,谓词处理得根本不好。尝试调用方法时出现此错误: 组织.hibernate.hql.internal.ast.QuerySyntax 异常: 模板实体部分目录未映射 [选择关键字身份\nfrom mypackage.