SORU
4 Ocak 2010, PAZARTESİ


() JPA getSingleResult veya null

Eğer yoksa veya mevcut güncelleme yok ne zaman bir Varlık ekleyen insertOrUpdate bir yöntem var. Bunu sağlamak için, null eklerseniz update döndü sonra findByİdAndForeignKey, yapmak zorundayım. Sorun ne varsa kontrol edebilirim? GetSingleResult çalıştım. Ama eğer bir özel durum atar

public Profile findByUserNameAndPropertyName(String userName, String propertyName) {
    String namedQuery = Profile.class.getSimpleName()   ".findByUserNameAndPropertyName";
    Query query = entityManager.createNamedQuery(namedQuery);
    query.setParameter("name", userName);
    query.setParameter("propName", propertyName);
    Object result = query.getSingleResult();
    if(result==null)return null;
    return (Profile)result;
}

"getSingleResult" bir istisna atar. ama

Teşekkürler

CEVAP
4 Ocak 2010, PAZARTESİ


Bir özel durum üretiliyor getSingleResult() bulunması mümkün değildir gösterir. Şahsen API bu tür dayanamıyorum. Sahte durum, hiçbir gerçek yararı için kullanma zorlar. Sadece bir kodu try-catch bloğu sarmak için.

Alternatif olarak bir liste için sorgu ve onun boş olmadığını görebilirsiniz. Bu bir istisna değil. Aslında beri bunu yaptığını bir birincil anahtar arama teknik olarak var olabilir birden çok sonuçları (bile bir, iki veya arada senin yabancı anahtarları veya kısıtlamaları yapan bu imkansız uygulamada) yani bu muhtemelen daha uygun bir çözüm.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • Pituvision

    Pituvision

    11 Mart 2006