Efficient Data Management with EMF and Hibernate Integration
180 likes | 280 Vues
Explore how to utilize Eclipse Modeling Framework (EMF) for storing data in files and databases using Hibernate. Learn about mapping, querying, and integration techniques for seamless data management.
Efficient Data Management with EMF and Hibernate Integration
E N D
Presentation Transcript
EMF i dane EMF w plikach i bazie danych
Topics • Zapis do pliku • Teneo
Topics • Zapis do pliku • Teneo 1
EMF Framework • Zapis/odczyt obiektów EMF PurchaseOrder aPurchaseOrder = POFactory.eINSTANCE.createPurchaseOrder(); aPurchaseOrder.setBillTo("123 Maple Street"); Item aItem = POFactory.eINSTANCE.createItem(); aItem.setProductName("Apples"); aItem.setQuantity(12); aItem.setPrice(0.50); aPurchaseOrder.getItems().add(aItem); - XML- XMI <simplepo:PurchaseOrder xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:simplepo="http:///simplepo.ecore" billTo="123 Maple Street"> <items productName="Apples" quantity="12" price="0.5"/> </simplepo:PurchaseOrder>
EMF Framework • Zapis modelu w wielu plikach
Zapis i odczyt XMI • Zarejestruj fabrykę dla danego typu pliku • Jeśli programujesz wtyczki nie musisz • Stwórz/pozyskaj ResourceSet • Stwórz/pozyskaj Resource • Wykonaj metodę getContents().add(…) • Wykonaj metodę save() Snippet 2
Topics • Zapis do pliku • Teneo
Teneo • Eclipse Modeling Framework Technology (EMFT) • Możliwość zapisu modeli EMF do bazy danych • Mapowanie poprzez • Hibernate • JPOX/JDO 2.0 • Możliwość zadawania zapytań HQL
EMF - Hibernate • Integracja dwuwarstwowa • Mapowanie (Mapping) • Uruchomieniowa (Runtime)
EMF - Hibernate • Mapowanie http://www.elver.org/hibernate/overview.html
Mapowanie • Automatyczne hibernate.hbm.xml generowany w pamięci na podstawie opisu epakietu • Możliwość wykorzystania pliku zewnętrznego pliku hibernate.hbm.xml • Umieść go w katalogu epakietu • HbDataStore PersistenceOptions.USE_MAPPING_FILE - "true" • Początkową wersje możesz wygenerować z menu lub wywołując:HbHelper.INSTANCE.generateMapping(....)
EMF - Hibernate • Uruchomieniowa http://www.elver.org/hibernate/overview.html
EMF – Hibernate • Stwórz i zarejestruj HBDataStore • Zainicjuj ustawienia Hibernate • Przez plik hibernate.properties • Przez obiekt klasy Properties • Ustaw epakiety (epackages) dla magazynu danych • Zaincjalizuj mapowanie i stwórz tabele Snippet 3
EMF – Hibernate • Zapis • Otwórz sesję • Rozpocznij transakcje • Zapisz obiekt • Zakończ transakcje • Zakończ sesję • Odczyt • Otwórz sesję • Rozpocznij transakcje • Zadaj zapytanie HQL • Zakończ transakcje • Zakończ sesję Snippet 4
Schemat bazy • AddressBook
Schemat bazy • Contact
Schemat bazy • Address
Koniec Dziękuje