To w moim DAO:Wybierz jedną pozycję z bazy danych z wiosny hibernacji SessionFactory
public List<Weather> getCurrentWeather() {
return sessionFactory.getCurrentSession().createQuery("from Weather").list();
}
To dostaje wszystkie elementy z tabeli pogoda. Ale powiedzmy, że chcę zrobić coś takiego (Chcę tylko jeden element z tabeli Weather):
public Weather getCurrentWeather() {
return sessionFactory.getCurrentSession().createQuery("from Weather where id = 1").list(); // here should be something else than list()
}
wiem, nie powinno byćlist()
w końcu, ale co muszę napisać tam, aby uzyskać tylko jeden obiekt?
UniqueResult() jest obiektem, w jaki sposób poradzić sobie z różnicy pogody i normalny obiekt? Czy powinienem maniakalnie rzucić to na Weather? A może jest bardziej odpowiedni sposób? – Jaanus
Tak, rzuciłeś to. Nie ma czegoś takiego jak czas kompilacji bezpieczeństwa z zapytaniami. W jaki sposób kompilator powinien wiedzieć, co ostatecznie wygeneruje instrukcja HQL? – Affe
Ale czy to działa, gdy mam coś innego niż ID, na przykład jakieś pole liczb całkowitych? – Jaanus