首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >连接映射并在HQL中引用其键/值

连接映射并在HQL中引用其键/值
EN

Stack Overflow用户
提问于 2010-06-11 14:23:17
回答 1查看 4.1K关注 0票数 6

假设我有一张地图:

代码语言:javascript
复制
        <map name="externalIds" table="album_external_ids">
            <key column="album_id" not-null="true"/>
            <map-key-many-to-many class="Major" column="major_id"/>
            <element column="external_id" type="string" not-null="true"/>
        </map> 

如何创建一个HQL,意思是“选择映射关键字的id == :foo和映射值==:bar的实体”?

我可以使用select album from Album album join album.externalIds ids加入它,但是我如何引用it的键和值呢?ids.key.id = :foo和ids.value = :bar不起作用,hibernate文档对此主题保持沉默。

天真的方法不起作用:

代码语言:javascript
复制
select album 
from Album album 
join album.externalIds externalId
    where index(externalId).id = :foo and externalId = :bar

代码语言:javascript
复制
select album 
from Album album 
join album.externalIds externalId 
join index(externalId) major
    where major.id = :foo and externalId = :bar
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3020599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档