Abfragen von Sammlungen von Wert geben Sie in die Kriterien-API, die in Hibernate

StackOverflow https://stackoverflow.com/questions/49334

  •  09-06-2019
  •  | 
  •  

Frage

In meiner Datenbank habe ich eine entity-Tabelle (nennen wir es mal Einheit).Jede Entität kann eine Reihe von entity-Typen und die Menge von entity-Typen ist statisch.Also, es gibt eine Verbindung Tabelle, die die Zeilen enthält, für die Entitäts-id und den Namen der Person eingeben.In meinem code, EntityType ist eine enum, und Entität ist ein Hibernate-Mapping-Klasse.
in der Entity code, der das mapping sieht wie folgt aus:

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

Oh, habe ich erwähnt, ich bin mit Anmerkungen?
Nun, was ich möchte zu tun ist, erstellen Sie eine HQL-Abfrage oder Suche über Kriterien für alle Entity-Objekte einer bestimmten entity-Typ.

Diese Seite in der Hibernate-forum sagt, dass dies unmöglich ist, aber dann diese Seite ist 18 Monate alt.Kann mir jemand sagen ob diese Funktion wurde implementiert, in einer der neuesten Versionen von Hibernate oder geplant für den kommenden release?

War es hilfreich?

Lösung

HQL:

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

Ich denke, dass man auch es schreiben wie:

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

Andere Tipps

Ist Ihre Beziehung bidirektional, d.h., nicht EntityType haben eine Entity Eigentum?Wenn ja, können Sie wahrscheinlich so etwas tun entity.Name from EntityType where name = ?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top