Merhaba Mesela adam "test" diye kelime arattı. İsminde "test" sözü bulunan şehirleri ve onların içinde fetch yaparak isminde "test" sözü olan marketleri çek diye biy criteria yazıyorum.Yani benim sonucum List<city> olmalı ve o city-lerin içinde isminde "test" sözü olan marketler olmalı

  Criteria criteria = getSession().createCriteria(City.class);

  criteria.createAlias("marketList", "marketInCity");

  Criterion citySearch = Restrictions.like("name", name, MatchMode.ANYWHERE);
  Criterion marketSearch= Restrictions.like("marketInCity.name", name, MatchMode.ANYWHERE);

  criteria.add(Restrictions.or(citySearch, marketSearch));

  criteria.setFetchMode("marketList", FetchMode.JOIN).add(
            Restrictions.like("marketInCity.name", name, MatchMode.ANYWHERE)
    );

 criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

Sonuç olarak içinde "test" olan ve mutlaka market isminde "test" olan cityleri çekiyor.Yani cityler istediğim gibi.Tüm cityler en az 1 tane içinde "test" sözü olan marketi var.ama sonuçta city-nin içinde tüm marketler geliyor(içinde test sözü olan ve olmayan).Kodda nerde yanlış yapıyorum.Nasıl yapmam lazım?

Teşekkürler

soruldu: 13 Ağu '15, 09:59

Serxan's gravatar image

Serxan
51691106107
cevap kabul oranı: 46%

değiştirildi: 13 Ağu '15, 10:02


Hocam anlatmak istediğinden hiç bir şey anlayamadım. Daha net yazabilirmisin ?

permanent link

cevaplandı: 13 Ağu '15, 16:24

cengizhan_ozcan's gravatar image

cengizhan_ozcan
71446
cevap kabul oranı: 0%

http://www.invia.sk/ bu sitede istanbul ve ya ist yazarak arata bilirmisiniz.Arama sonuçlarına dikkat edin

(14 Ağu '15, 05:01) Serxan Serxan's gravatar image
Cevabınız
toggle preview

powered by BitNami OSQA