在Hibernate的Criteria API中查询值类型的集合
时间:2020-03-05 18:49:13 来源:igfitidea点击:
在我的数据库中,我有一个实体表(我们称它为Entity)。每个实体可以具有许多实体类型,并且实体类型的集合是静态的。因此,存在一个连接表,其中包含实体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; }
解决方案
回答
关系是双向的吗,也就是说," EntityType"是否具有" Entity"属性?如果是这样,我们可能可以执行EntityType中的entity.Name,其中name =?
。
回答
总部:
select entity from Entity entity where :type = some elements(entity.types)
我认为我们也可以这样写:
select entity from Entity entity where :type in(entity.types)