EMF i dane

18
Mirosław Ochodek Mirosław Ochodek [email protected] [email protected] Sponsorzy: Sponsorzy: EMF i dane EMF i dane EMF w plikach i bazie danych EMF w plikach i bazie danych

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 Presentation

Transcript of EMF i dane

Page 1: EMF i dane

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

Page 2: EMF i dane

UCWorkbench Team Eclipse Summer School (2)

TopicsTopics▪Zapis do pliku

▪Teneo

Page 3: EMF i dane

UCWorkbench Team Eclipse Summer School (3)

TopicsTopics▪Zapis do pliku

▪Teneo

1

Page 4: EMF i dane

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

Page 5: EMF i dane

UCWorkbench Team Eclipse Summer School (5)

EMF FrameworkEMF Framework▪ Zapis modelu w wielu plikach

Page 6: EMF i dane

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

Page 7: EMF i dane

UCWorkbench Team Eclipse Summer School (7)

TopicsTopics▪Zapis do pliku

▪Teneo

Page 8: EMF i dane

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

Page 9: EMF i dane

UCWorkbench Team Eclipse Summer School (9)

EMF - HibernateEMF - Hibernate

▪Integracja dwuwarstwowa

• Mapowanie (Mapping)

• Uruchomieniowa (Runtime)

Page 10: EMF i dane

UCWorkbench Team Eclipse Summer School (10)

EMF - HibernateEMF - Hibernate▪Mapowanie

http://www.elver.org/hibernate/overview.html

Page 11: EMF i dane

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(....)

Page 12: EMF i dane

UCWorkbench Team Eclipse Summer School (12)

EMF - HibernateEMF - Hibernate▪Uruchomieniowa

http://www.elver.org/hibernate/overview.html

Page 13: EMF i dane

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

Page 14: EMF i dane

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

Page 15: EMF i dane

UCWorkbench Team Eclipse Summer School (15)

Schemat bazySchemat bazy▪AddressBook

Page 16: EMF i dane

UCWorkbench Team Eclipse Summer School (16)

Schemat bazySchemat bazy▪Contact

Page 17: EMF i dane

UCWorkbench Team Eclipse Summer School (17)

Schemat bazySchemat bazy▪Address

Page 18: EMF i dane

UCWorkbench Team Eclipse Summer School (18)

KoniecKoniec

Dziękuje