Mam złożoną hierarchię klas z wieloma poziomami dziedziczenia i muszę zapytać o określone typy w tej hierarchii, używając HQL.Zapytanie HQL dla wielu typów/klas
Załóżmy, że mam zajęcia z kotów, psów i małp, z popularnym zwierzęciem klasy podstawowej.
Jak napisać zapytanie, które wybiera tylko niektóre z nich, powiedzmy, Kot i pies?
Muszę również sortować lub filtrować według niektórych właściwości zwierząt - powiedzmy, zwierzęta z seksem = "mężczyzna" i porządek według nazwy.
Czy to możliwe?
według knol] [NH (http://knol.google.com/k/nhibernate-chapter-12-hql-the-hibernate-query-language) autorstwa Fabio Maulo, "specjalna klasa właściwości uzyskuje dostęp do wartości dyskryminatora instancji w przypadku polimorficznej trwałości .Jedna nazwa klasy Java osadzona w klauzuli where zostać przetłumaczone na wartość dyskryminującą. " - więc wygląda na to, że jest to obsługiwane. Wypróbuję to jutro rano i opublikuję wynik tutaj, dzięki! –
Magiczna właściwość .class działa świetnie z HQL w NH! Jako ostrzeżenie, API Kryteriów nie jest tak pomocne - wymagało strasznego obejścia, ręcznego pobrania dyskryminatora z mapowania, ponieważ API Kryteriów nie tłumaczy nazw klas do wartości dyskryminujących, ale oczekuje, że znasz dyskryminator wartość z góry. Okropne rzeczy. Ale z HQL działa świetnie! –