180 likes | 274 Views
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");
E N D
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