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

  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • NYLON Video

    NYLON Video

    11 Aralık 2006