0

在我的数据库中,我有一个实体表(我们称之为实体)。每个实体可以有多个实体类型,实体类型的集合是静态的。因此,存在一个连接表,其中包含实体 id 和实体类型名称的行。在我的代码中,EntityType 是一个枚举,Entity 是一个 Hibernate 映射的类。
在实体代码中,映射如下所示:

@CollectionOfElements
@JoinTable(
        name = "ENTITY-ENTITY-TYPE",
        joinColumns = @JoinColumn(name = "ENTITY-ID")
)
@Column(name="ENTITY-TYPE")
public Set<EntityType> getEntityTypes() {
    return entityTypes;
}

哦,我有没有提到我正在使用注释?
现在,我想做的是为特定实体类型的所有实体对象创建一个 HQL 查询或搜索。

Hibernate 论坛中的这个页面说这是不可能的,但是这个页面是 18 个月大的。谁能告诉我此功能是否已在 Hibernate 的最新版本之一中实现,或计划在即将发布的版本中实现?

4

2 回答 2

1

总部:

select entity from Entity entity where :type = some elements(entity.types)

我认为你也可以这样写:

select entity from Entity entity where :type in(entity.types)
于 2008-09-10T04:14:44.810 回答
0

你的关系是双向的,即EntityTypeEntity属性吗?如果是这样,你可能会做类似的事情entity.Name from EntityType where name = ?

于 2008-09-08T18:47:05.870 回答