पाठ 20 / 38

JPA व Hibernate

JPA एंटिटी व Hibernate से Java ऑब्जेक्ट को डेटाबेस टेबल से मैप करें, पर्सिस्टेंस कॉन्टेक्स्ट समझें, और N+1 सेलेक्ट समस्या पहचानकर ठीक करें।

एंटिटी व पर्सिस्टेंस कॉन्टेक्स्ट

@Entity क्लास टेबल से मैप होती हैं; EntityManager परिवर्तन ट्रैक कर ट्रांज़ैक्शन में flush करता है।

@Entity
class Book {
    @Id @GeneratedValue Long id;
    String title;
    @ManyToOne Author author;
}

interface BookRepository extends JpaRepository<Book, Long> {
    List<Book> findByAuthorName(String name);
}

N+1 सेलेक्ट समस्या

N पैरेंट पंक्तियों के लिए अलग-अलग लोड करने पर N अतिरिक्त क्वेरी चलती हैं। JOIN FETCH या entity graph से ठीक करें।