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

  • Plugable

    Plugable

    19 Mayıs 2010
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013