Wie man letzten Datensatz basierend auf last_modified Feld in hibernate JPA(session-Implementierung)
Ich habe meinen Kopf kratzen über die letzten 3 Stunden, um sich das aktuelle Objekt mit hibernate.ich habe versucht, aber immer wieder entweder null, oder castTypeExcetpion.
public Content getMostRecentByCategoryAndGenre(Category category, Genre genre){
logger.info("calling getMostRecentByCategoryAndGenre");
logger.debug(category);
logger.debug(genre);
DetachedCriteria recentDate = DetachedCriteria.forClass(this.getPersistentClass());
recentDate.setProjection(Projections.max("lastModified"));
Content recent = (Content) this.getSessionFactory().getCurrentSession().createCriteria(this.getPersistentClass())
.add(Restrictions.eq("genre", genre))
.add(Restrictions.eq("category", category))
.setProjection(Projections.max("lastModified")) //gives cannot cast timestamp to com.bla.bla.bla.myproject
//.add(Property.forName("lastModified").eq(recentDate)) //this if uncommented and previous line commented gives null result
.uniqueResult();
logger.debug(recent);
return recent;
}
gibt es alles, was ich nicht tun, richtig? vielen Dank für das Lesen dieses.
InformationsquelleAutor black sensei | 2011-12-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
alles in einer Abfrage
InformationsquelleAutor Firo
Als Ihr mit Projektion auf
lastModified
Feld, in das Ergebnis bekommen Sie nurlastModified
Wert sowie eine Liste der Größe 1 mitlastModified
Wert, wie Sie bekommen nur eine Reihe als Ergebnis liefert, die nicht Stimmen, um IhreContent
Klasse Typ. Wenn Sie brauchen, den letztenContent
Objekt nur stoppen hinzufügen Projektion auf Kriterien.Sie könnte das Projekt Content-ID statt der lastModified. Mit dieser ID können Sie laden Sie Ihre Content-Objekt.
InformationsquelleAutor Pokuri