UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO · PDF fileJava jo objektno naravnan programski jezik, kar pomeni, da so objekti osnovni gradniki vsake javanske aplikacije. Objekt je ena instanca

Embed Size (px)

Citation preview

  • I

    UNIVERZA V LJUBLJANI

    FAKULTETA ZA RAUNALNITVO IN INFORMATIKO

    Rok Logonder

    UPORABA ORODIJ ZA OBJEKTNO-RELACIJSKO

    PRESLIKOVANJE PRI RAZVOJU JAVANSKIH

    APLIKACIJ

    DIPLOMSKO DELO

    VISOKOOLSKI STROKOVNI TUDIJSKI PROGRAM PRVE STOPNJE

    RAUNALNITVO IN INFORMATIKA

    Mentor: vi. pred. dr. Damjan Vavpoti

    Ljubljana, 2011

  • I

    Zahvala

    Zahvalil bi se rad svoji druini za omogoanje tudija ter podporo pri le-tem, svojim soolcem, ki so

    mi olajali sam tudij na fakulteti ter vsem, ki so v asu tudija tako ali drugae vplivali name kot na

    tudenta in kot na loveka, predvsem dekletu Jerneji.

    Posebna zahvala gre mentorju, vi. pred. dr. Damjanu Vavpotiu, ki me je s hitrimi odzivi na moja

    vpraanja, nasveti in predlogi vodil k dokonanju diplomske naloge.

    Zahvaljujem, se tudi podjetju ZZI d.o.o. za vse, kar so mi v preteklih tirih letih omogoili.

  • II

    Kazalo vsebine

    Povzetek ........................................................................................................................................................... 1

    Abstract ............................................................................................................................................................ 2

    1 Uvod ......................................................................................................................................................... 3

    1.1 Cilj diplomske naloge ........................................................................................................................ 4

    2 Opis teorije ............................................................................................................................................... 5

    2.1 Osnovni pojmi ................................................................................................................................... 5

    2.1.1 Relacijske podatkovne baze ...................................................................................................... 5

    2.1.2 Java ........................................................................................................................................... 5

    2.1.2.1 Objekt ................................................................................................................................... 5

    2.1.3 Trajnost ..................................................................................................................................... 6

    2.1.4 Refleksija................................................................................................................................... 6

    2.1.5 Razirjanje ................................................................................................................................. 6

    2.2 Objektnorelacijsko preslikovanje .................................................................................................... 7

    2.2.1 Zakaj se uporablja objektnorelacijsko preslikovanje ............................................................... 7

    2.2.2 Standardi .................................................................................................................................. 8

    2.2.2.1 JDO........................................................................................................................................ 8

    2.2.2.2 JPA ........................................................................................................................................ 9

    2.2.3 Primer delovanja objektno-relacijsko preslikovalnih orodij, ki se drijo standardov JDO ali pa

    JPA 9

    3 Objektnorelacijski preslikovalniki ......................................................................................................... 10

    3.1 Seznam in primerjava preslikovalnikov........................................................................................... 10

    3.2 Rezultat primerjave ........................................................................................................................ 11

    3.2.1 Kriterij tevilo vrstic kode in datotek ter as pri vzpostavitvi povezave s podatkovno bazo

    11

    3.2.2 Kriterij Enostavnost uporabe .............................................................................................. 12

    3.2.3 Kriterij Hitrost delovanja enostavnih poizvedb ter poizvedbe primerljive s poizvedbami, kot

    smo jih izvajali v podjetju ..................................................................................................................... 12

    4 Objektnorelacijsko preslikovalna orodja .............................................................................................. 14

    4.1 MyBatis ........................................................................................................................................... 14

    4.1.1 Delovanje ................................................................................................................................ 14

    4.1.1.1 XML nastavitvena datoteka ................................................................................................ 15

  • III

    4.1.1.2 Preslikovalna XML datoteka ................................................................................................ 17

    4.1.1.3 Dinamini SQL ..................................................................................................................... 21

    4.1.2 Prednosti in slabosti ............................................................................................................... 22

    4.2 Hibernate ........................................................................................................................................ 23

    4.2.1 Delovanje ................................................................................................................................ 23

    4.2.1.1 Hibernate konfiguracijska datoteka .................................................................................... 23

    4.2.1.2 Modelni razred ................................................................................................................... 24

    4.2.1.3 Monosti ............................................................................................................................. 24

    4.2.1.4 Crud operacije..................................................................................................................... 26

    4.2.2 HQL ......................................................................................................................................... 27

    4.2.2.1 Shranjevanje v predpomnilniku: ......................................................................................... 29

    4.2.3 Prednosti in slabosti ............................................................................................................... 30

    4.3 DataNucleus ................................................................................................................................... 31

    4.3.1 Delovanje ................................................................................................................................ 31

    4.3.2 Podprti podatkovni zbiri ......................................................................................................... 31

    4.3.3 Tipi JDO objektov .................................................................................................................... 32

    4.3.3.1 Podprti javanski tipi spremenljivk ....................................................................................... 32

    4.3.3.2 Metadata nastavitve ........................................................................................................... 33

    4.3.4 JDOHelper ............................................................................................................................... 33

    4.3.5 Persistance manager Factory .................................................................................................. 34

    4.3.6 Trajnostni urejevalnik ............................................................................................................. 34

    4.3.7 Transakcija .............................................................................................................................. 34

    4.3.8 Vraanje objektov ................................................................................................................... 34

    4.3.9 JDOQL ..................................................................................................................................... 35

    4.3.10 Prednosti in slabosti ............................................................................................................... 36

    5 Zakljuek ................................................................................................................................................. 37

    6 Viri .......................................................................................................................................................... 39

  • IV

    Kazalo slik

    Slika 1: Objektno-relacijsko preslikovanje.. ...................................................................................................... 7

    Slika 2: Slikovna ponazoritev delovanja orodja MyBatis. ................................................................................ 14

    Slika 3: primer XML nastavitvene datoteke. ................................................................................................... 15