Merhaba,

javax.persistence 2.5 kullanıyorum.

CriteriaBuilder ile Left Join sorgusu hazırlarken birden fazla koşul eklemek istiyorum. Left Join a on a.id=b.id and b.isDeleted=0 gibi.

Join'e ek koşulları nasıl eklerim?

Teşekkürler.

soruldu: 13 Eyl '13, 03:02

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

değiştirildi: 17 Eyl '13, 07:39

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

Versiyonlar soyle olmali:

Java EE 6 = JPA 2.0

Java EE 7 = JPA 2.1

(13 Eyl '13, 05:34) CemIkta ♦ CemIkta's gravatar image

Merhabalar,

builder ile yapiyorsun.

Where örnegi:

    CriteriaQuery query = builder.createQuery();
    Root<Person> men = query.from( Person.class );
    Root<Person> women = query.from( Person.class );
    Predicate menRestriction = builder.and(
        builder.equal( men.get( Person_.gender ), Gender.MALE ),
        builder.equal( men.get( Person_.relationshipStatus ), RelationshipStatus.SINGLE )
    );
    Predicate womenRestriction = builder.and(
        builder.equal( women.get( Person_.gender ), Gender.FEMALE ),
        builder.equal( women.get( Person_.relationshipStatus ), RelationshipStatus.SINGLE )
    );
    query.where( builder.and( menRestriction, womenRestriction ) );

Join Örnegi:

    CriteriaQuery<Person> personCriteria = builder.createQuery( Person.class );
    Root<Person> personRoot = person.from( Person.class );
    Join<Person,Order> orders = personRoot.join( Person_.orders );
    Join<Order,LineItem> orderLines = orders.join( Order_.lineItems );

Iyi calismalar.

permanent link

cevaplandı: 13 Eyl '13, 03:13

mahmut_can's gravatar image

mahmut_can ♦
2.9k62552
cevap kabul oranı: 67%

değiştirildi: 13 Eyl '13, 03:14

Merhaba, Join örneğindeki, orderLines'lardan fiyatı 1000'den büyük olanları join etmek için kullanacağım yöntemi sormuştum.

(13 Eyl '13, 03:24) SaRPaRDa SaRPaRDa's gravatar image

builder.greaterThan kullanman gerekir.

Biraz arastirirsan cevabini hemen bulursun.

http://docs.oracle.com/cd/E19226-01/820-7627/gjixa/index.html

(13 Eyl '13, 03:30) mahmut_can ♦ mahmut_can's gravatar image

Arkadaşım rica edeceğim soruları tekrar oku.

(13 Eyl '13, 04:48) SaRPaRDa SaRPaRDa's gravatar image

Kardesim soru belli. Ancak anliyamadin cevabi!

  1. Left join nasil yapiliyor gösteriliyor

  2. Where nasil yapildigida gösteriliyor. (birden fazla)

Ikisini birlikte yapmada problem nedir? Siniflarin gözükmüyor. Nasil bire bir soru cözelim?

Hosuna gitemdiyse gelecek cevabi bekle!

Iyi calismalar

(13 Eyl '13, 04:57) mahmut_can ♦ mahmut_can's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×86

Soruldu: 13 Eyl '13, 03:02

Görüntüleme: 913 kez

Son güncelleme: 17 Eyl '13, 07:39

powered by BitNami OSQA