关于枚举:在Hibernate的Criteria API中查询值类型的集合

关于枚举:在Hibernate的Criteria API中查询值类型的集合

Querying collections of value type in the Criteria API in Hibernate

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

1
2
3
4
5
6
7
8
9
@CollectionOfElements
@JoinTable(
        name ="ENTITY-ENTITY-TYPE",
        joinColumns = @JoinColumn(name ="ENTITY-ID")
)
@Column(name="ENTITY-TYPE")
public Set<EntityType> getEntityTypes() {
    return entityTypes;
}

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

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


HQL:

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

我认为您也可以这样写:

1
select entity from Entity entity where :type in(entity.types)

您的关系是否是双向的,即EntityType是否具有Entity属性?如果是这样,您可能可以做类似entity.Name from EntityType where name = ?

的操作


推荐阅读

    linux线程查询命令?

    linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Lin

    linux查询网关命令?

    linux查询网关命令?,网络,信息,地址,环境,系统,网关,名字,中心,状态,命令,lin

    linux命令查询参数?

    linux命令查询参数?,网络,信息,设备,系统,服务,状态,情况,工作,地址,命令,Lin

    linux查询硬盘命令行?

    linux查询硬盘命令行?,情况,系统,信息,工具,单位,软件,命令,服务,电脑,分析,

    linux查询分辨率命令?

    linux查询分辨率命令?,情况,设备,系统,分辨率,数据,命令,屏幕,屏幕分辨率,

    linux常用命令查询?

    linux常用命令查询?,工作,地址,系统,信息,命令,目录,管理,标准,常用命令,控

    linux命令查询汉语?

    linux命令查询汉语?,工作,地址,系统,信息,命令,目录,标准,状态,软件,亚洲,基

    linux下查询历史命令?

    linux下查询历史命令?,地址,信息,系统,服务,数据,连续,命令,数字,名称,环境,l

    linux查询表结构命令?

    linux查询表结构命令?,系统,标准,信息,数据,地址,设备,时间,适当,软件,命令,l

    linux网络命令查询?

    linux网络命令查询?,信息,网络,系统,地址,工作,状态,技术,电脑,命令,设备,lin

    linux查询子目录命令?

    linux查询子目录命令?,信息,系统,命令,名称,文件,名字,管理,软件,灵活,工具,L

    linux查询状态的命令?

    linux查询状态的命令?,系统,状态,信息,管理,数据,情况,命令,综合,电脑,工具,l

    linux地址查询命令?

    linux地址查询命令?,地址,网络,系统,工作,信息,设备,名称,标准,手机,管理,lin

    linux查询id命令?

    linux查询id命令?,信息,系统,密码,地址,用户,命令,数据,术语,用户名,用户信

    命令查询linux版本?

    命令查询linux版本?,系统,信息,名称,状态,电脑,设备,工具,软件,版本,命令,在L

    linux7查询路由命令?

    linux7查询路由命令?,网络,系统,信息,工作,地址,情况,命令,通信,工具,检测,在

    linux查询网卡命令?

    linux查询网卡命令?,地址,系统,网络,信息,电脑,服务,设备,技术指标,命令,状

    linux命令查询词典?

    linux命令查询词典?,地址,工作,标准,信息,系统,命令,管理,目录,单位,数据,lin

    linux隧道查询命令?

    linux隧道查询命令?,工作,系统,地址,信息,时间,网络,命令,检测,设备,目录,lin