[ srdjan_b @ 26.05.2009. 20:30 ] @
Pozdrav, Pri izradi jedne aplikacije koristim TopLink kao object-to-relational persistence. Imam sledeći upit koji radi: Code: select new entity.custom.KretanjaStavke(artikal.id, stavke.kolicina, artikal.naziv, kretanje.id) from Kretanja as kretanje join kretanje.kretanjaStavkeCollection as stavke join stavke.artikalId as artikal where kretanje.id > 0 and artikal.grupaId.id = 1 and kretanje.datum = :datum Klasu entity.custom.KretanjaStavke sam ja kreirao i koristim je za slanje preko web servisa: Code: public class KretanjaStavke { private Integer id; private Double vpc; private Double mpc; private String porez; private Double kolicina; private String artikalNaziv; private Double suma; private List<entity.custom.KretanjaPodstavke> podstavke; public KretanjaStavke() { } public KretanjaStavke(Integer id, Double kolicina, String artikalNaziv, Integer kretanjeId) { this.id = id; this.kolicina = kolicina; this.artikalNaziv = artikalNaziv; this.suma = Double.parseDouble(kretanjeId.toString()); this.podstavke = podstavke; } public KretanjaStavke(Integer id, Double kolicina, String artikalNaziv, Integer kretanjeId, List<entity.custom.KretanjaPodstavke> podstavke) { this.id = id; this.kolicina = kolicina; this.artikalNaziv = artikalNaziv; this.suma = Double.parseDouble(kretanjeId.toString()); this.podstavke = podstavke; } . . . geteri i seteri } Klasa podstavke izgleda: Code: public class KretanjaPodstavke { private Integer id; private String nazivPodstavke; private Integer grupa; public KretanjaPodstavke(Integer id, String nazivPodstavke, Integer grupa) { this.id = id; this.nazivPodstavke = nazivPodstavke; this.grupa = grupa; } . . . geteri i seteri } Jedna stavka moze da ima vise stavki, i tu je moj problem. Kako da napravim upit koji ce mi vratiti listu objekata KretanjaStavke gdje svaka stavka ima listu objekata KretanjaPodstavke? Nesto tipa ovoga: Code: select new entity.custom.KretanjaStavke(artikal.id, stavke.kolicina, artikal.naziv, kretanje.id, (new entity.custom.KretanjaPodstavke(podstavke.id, podstavke.artikalId.naziv, podstavke.artikalId.grupaId.id) from podstavke)) from Kretanja as kretanje join kretanje.kretanjaStavkeCollection as stavke join stavke.artikalId as artikal join stavke.kretanjaPodstavkeCollection as podstavke "where kretanje.id > 0 and artikal.grupaId.id = 1 and kretanje.datum = :datum ali ovo ni u ludilu nece da proradi. Nadam se da mi neko moze pomoci. Hvala unarpijed... |