पाठ 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 से ठीक करें।