emf i dane
DESCRIPTION
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"); - PowerPoint PPT PresentationTRANSCRIPT
Mirosław OchodekMirosław [email protected]@put.poznan.pl
Sponsorzy:Sponsorzy:
EMF i daneEMF i daneEMF w plikach i bazie danychEMF w plikach i bazie danych
UCWorkbench Team Eclipse Summer School (2)
TopicsTopics▪Zapis do pliku
▪Teneo
UCWorkbench Team Eclipse Summer School (3)
TopicsTopics▪Zapis do pliku
▪Teneo
1
UCWorkbench Team Eclipse Summer School (4)
EMF FrameworkEMF 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);
<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>
- XML- XMI
UCWorkbench Team Eclipse Summer School (5)
EMF FrameworkEMF Framework▪ Zapis modelu w wielu plikach
UCWorkbench Team Eclipse Summer School (6)
Zapis i odczyt XMIZapis 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()
2
UCWorkbench Team Eclipse Summer School (7)
TopicsTopics▪Zapis do pliku
▪Teneo
UCWorkbench Team Eclipse Summer School (8)
TeneoTeneo
▪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
UCWorkbench Team Eclipse Summer School (9)
EMF - HibernateEMF - Hibernate
▪Integracja dwuwarstwowa
• Mapowanie (Mapping)
• Uruchomieniowa (Runtime)
UCWorkbench Team Eclipse Summer School (10)
EMF - HibernateEMF - Hibernate▪Mapowanie
http://www.elver.org/hibernate/overview.html
UCWorkbench Team Eclipse Summer School (11)
MapowanieMapowanie▪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(....)
UCWorkbench Team Eclipse Summer School (12)
EMF - HibernateEMF - Hibernate▪Uruchomieniowa
http://www.elver.org/hibernate/overview.html
UCWorkbench Team Eclipse Summer School (13)
EMF – Hibernate 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
3
UCWorkbench Team Eclipse Summer School (14)
EMF – Hibernate 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ę4
UCWorkbench Team Eclipse Summer School (15)
Schemat bazySchemat bazy▪AddressBook
UCWorkbench Team Eclipse Summer School (16)
Schemat bazySchemat bazy▪Contact
UCWorkbench Team Eclipse Summer School (17)
Schemat bazySchemat bazy▪Address
UCWorkbench Team Eclipse Summer School (18)
KoniecKoniec
Dziękuje