【发布时间】:2015-04-10 10:08:08
【问题描述】:
我的 hibenrate 实体类中有以下属性:
@MapKeyJoinColumn(name = "language_code")
@LazyCollection(LazyCollectionOption.EXTRA)
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "text_translations", joinColumns = @JoinColumn(name = "text_id"))
private Map<Language, String> translations = new HashMap<>();
现在我想查询这个实体并按用户的语言(即按地图的键)过滤地图的内容。我的查询中有以下联接:
StringPath titleTran = new StringPath("title_tran");
from(entity).
.leftJoin(entity.translations, titleTran).fetch().where(?mapKey?.eq(userLanguage));
我需要的是 ?mapKey? to by path to language of titleTran 路径。这在 QueryDsl 中是否可能?
【问题讨论】:
标签: java sql hibernate dictionary querydsl