문제

내 데이터베이스에는 엔터티 테이블이 있습니다(엔티티라고 부르겠습니다).각 엔터티에는 여러 엔터티 유형이 있을 수 있으며 엔터티 유형 집합은 정적입니다.따라서 엔터티 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의 최신 릴리스 중 하나에 구현되었는지 또는 향후 릴리스에 계획되어 있는지 알려주실 수 있습니까?

도움이 되었습니까?

해결책

HQL:

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

다음과 같이 작성할 수도 있다고 생각합니다.

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

다른 팁

귀하의 관계는 양방향입니까? EntityType 가지고 있다 Entity 재산?그렇다면 아마도 다음과 같은 일을 할 수 있을 것입니다. entity.Name from EntityType where name = ?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top