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

  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • PlugResearch

    PlugResearch

    22 Mart 2006
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005