Hallo,
Ich versuche Hibernate mit Spring und ich habe Code unten geschrieben:
TV Programm Hat mehrere Channels.
es gibt eine Beziehung one-to.many von Tv in Richtung Channel.
Jetzt will ich alle channels names von Object Tv mit id(Hjid=3) herausfiltern, so dass die channels names alphabetich sortiert.
Ich habe das Code geschrieben, aber ich bekomme die Namen con channels des Tv id 3 aber nicht sortiert. Hat jemand eine Idee, es wäre sehr hilfsreich. danke.
ps: die Beziehung ist nur in einer Richtung TV-->channel.
ApplicationContext appContext=
WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
//code wird in JSP seite geschrieben.
SessionFactory o=(SessionFactory)appContext.getBean("sessionFactory");
Session hypsession = o.openSession();
Criteria crit = hypsession.createCriteria(TvTypeImpl.class);
crit.add(Restrictions.eq("Hjid",new Long(3)));//Hjid ist id des TV.
Criteria channelCrit= crit.createCriteria("Channel");
channelCrit.addOrder(Order.asc("Name"));
//channelCrit.setFetchMode("permissions", FetchMode.LAZY);
List<TvTypeImpl> tvList = crit.list();
for (TvTypeImpl list : tvList) {
List<ChannelTypeImpl> channel = list.getChannel();
for(ChannelTypeImpl channelList : channel){
String channelName = channelList.getName());
}
hypsession.close();
}
Eine ander Frage bitte: trotz FetchMode.LAZY versucht Tomcat alle Daten der TV und dazugehörigen Cascade Beziehungen laden. Ich will nur TV und channels Daten holen und nicht weiter, macht man das anders.
Ich bin im Hibernate Welt seite eine Woche und ich bin :-(.
Danke nochmal.
|