Hallo,
ich habe eine Klasse Person und eine Klasse Event, die so aussehen:
die Klasse Person hat unter Hibernate mit der Klasse Event also eine n:m Verbindung -> eine Person kann bei mehreren Events teilnehmen und an einem Event nehmen mehrere Personen teil.
Ich habe bis jetzt immer mittels Hibernate so abgefragt (name ist der name nachdem gesucht werden soll und eventname ist der name, an dem eine Person teilnimmt)
Das klappt so weit ganz gut. Jetzt möchte ich auch die Personen abfragen, wo die namen passen (mit LIKE) und nur die Personen für einen bestimmten eventnamen:
CONTAINS gibt es aber jetzt nicht in HQL. Meine Frage wäre jetzt, wie ich das mit HQL machen kann, dass ich abfrage, ob in einer Collection ein bestimmter Eintrag ist.
Vielen Dank,
lg
ich habe eine Klasse Person und eine Klasse Event, die so aussehen:
Java:
@Entity
public class Person {
private Integer id;
private String firstname;
private String surname;
...
private Collection<Event> events;
Java:
@Entity
public class Event{
private Integer id;
private String eventname;
...
private Collection<Person> persons;
die Klasse Person hat unter Hibernate mit der Klasse Event also eine n:m Verbindung -> eine Person kann bei mehreren Events teilnehmen und an einem Event nehmen mehrere Personen teil.
Ich habe bis jetzt immer mittels Hibernate so abgefragt (name ist der name nachdem gesucht werden soll und eventname ist der name, an dem eine Person teilnimmt)
SQL:
String searchQuery = "from Person as p where p.firstname LIKE '%" + name +
"%' OR p.surname LIKE '%" + name;
getHibernateTemplate().find(searchQuery);
Das klappt so weit ganz gut. Jetzt möchte ich auch die Personen abfragen, wo die namen passen (mit LIKE) und nur die Personen für einen bestimmten eventnamen:
SQL:
String searchQuery = "from Person as p where p.firstname LIKE '%" + name +
"%' OR p.surname LIKE '%" + name + " AND p.events CONTAINS + '%" + eventname "%'";
getHibernateTemplate().find(searchQuery);
CONTAINS gibt es aber jetzt nicht in HQL. Meine Frage wäre jetzt, wie ich das mit HQL machen kann, dass ich abfrage, ob in einer Collection ein bestimmter Eintrag ist.
Vielen Dank,
lg
Zuletzt bearbeitet: