This project acts as a practical guide to mastering Hibernate 6 with Java 21. It simulates a museum inventory system where users can manage Artists, Artifacts, and Price Appraisals via a terminal interface. The architecture follows the Repository Pattern and uses a HibernateUtil class. It handles complex scenarios like Cascade Deletion and fetching related data efficiently with JOIN FETCH queries.
Project Capabilities Artist Management: Add new artists with their biographies. List all artists stored in the database. View detailed artist profiles, including their artifact collection. Cascade Delete: Deleting an artist automatically removes their associated artifacts and appraisal reports.
Artifact Tracking: Register new artifacts (paintings, sculptures, etc.) and link them to specific artists. Track the condition of artifacts (e.g., Excellent, Restored) using Java Enums. Delete specific artifacts from the inventory.
Valuation System: Add financial appraisal reports for specific artifacts. Record valuation dates, expert names, and estimated prices. Maintain a history of value changes over time.
Technical Highlights: Pure Hibernate: Uses Hibernate ORM for database connectivity without Spring Framework. Efficient Querying: Implements JOIN FETCH to solve the Lazy Initialization Exception problem.
Console UI: Provides a clean, interactive command-line interface for users.
Bu proje, Java 21 kullanarak Hibernate 6 konusunda uzmanlaşmak adına yazılmıştır. Kullanıcıların terminal arayüzü üzerinden Sanatçıları, Eserleri ve Değerleme Raporlarını yönetebildiği bir müze envanter sistemini simüle eder. Proje mimarisi Repository Tasarım Kalıbını takip eder ve HibernateUtil sınıfı kullanır. Ayrıca Zincirleme Silme (Cascade Deletion) ve JOIN FETCH sorguları ile ilişkili verileri verimli bir şekilde çekme gibi karmaşık senaryoları da yönetir.