Hazırda bekletme ipuçları: Bir devralma hiyerarşisinden yalnızca seçilen varlıkları seçin

Portakalkafa

Global Mod
Global Mod


  1. Hazırda bekletme ipuçları: Bir devralma hiyerarşisinden yalnızca seçilen varlıkları seçin

Hazırda Bekletme İpuçları serisi, yaygın Hazırda Bekletme sorularına hızlı ve kolay çözümler sunar. Bu sefer konu, kalıtım hiyerarşisinden tek bir varlığın hedeflenen seçimiyle ilgili.


Rica etmek:


Etki alanı modelimde bir kalıtım hiyerarşisi modelledim ve bir sorguda bu hiyerarşinin yalnızca belirli bir sınıfını seçmek istiyorum. JPQL bu tür sorguları destekliyor mu?

Çözüm:


JPA 2.1 ile ANLAŞMAK İÇİN-JPQL ve Criteria sorguları için tanıtılan operatör. Bu şekilde, bir üst sınıfın bireysel türevleri seçici olarak seçilebilir.

Aşağıdaki örnekte yazarlar, kitaplar veya blog makaleleri gibi farklı türlerde yayınlar yayınlayabilir. Bu varlıklar ile yapılabilir Yazar Ve yayın birbirleriyle çoktan çoğa ilişki içinde olan modeller. Ayrıca, kurumlar rezerve Ve blog yazıları sınıfın türevleri olarak yayın oluşturuldu.




Hazırda bekletme ipuçları: Bir devralma hiyerarşisinin yalnızca seçili varlıklarını seçin




Bu modele dayalı olarak, aşağıdaki sorgu başlığı “Java” kelimesini içeren tüm yazarları ve kitaplarını seçer. Süper sınıf bunun için var yayın yardımıyla ANLAŞMAK İÇİN-Operatörler türetme konusunda rezerve öğle yemeği.


List<Object[]> result = em.createQuery("SELECT a, p FROM Author a JOIN a.publications p WHERE treat(p AS Book).title LIKE '%Java%'").getResultList();
Hazırda Bekletme İpuçları: Kitap


“Hibernate Tips: 70+ Solutions to Common Hibernate Problems” adlı kitabım, basit ve karmaşık eşleme tanımları, günlüğe kaydetme, Java 8 desteği, önbelleğe alma ve statik ve dinamik sorgu oluşturma gibi konularda bu tür 70’ten fazla tarif içeriyor. Amazon’da basılı ve e-kitap biçiminde ve hibernate-tips.com adresinde PDF biçiminde mevcuttur.


()



Haberin Sonu
 
Üst