JPA támogatás Eclipse-ben
|
|
- Sarolta Szőkené
- 7 évvel ezelőtt
- Látták:
Átírás
1 JPA támogatás Eclipse-ben
2 Tartalom v ORM alapok v JPA technológia v JPA használatát segítő Eclipse technológiák 2
3 ORM alapok Object-Relational Mapping 3
4 Object-Relational Mapping v Cél: objektumok tárolása adatbázisban v Probléma: az objektum-orientált és a relációs adatmodell közötti különbségek v Megoldás: automatizált leképezés 4
5 Object-Relational Mapping v Leképezés: Osztályhierarchia Osztály Mező Objektum Séma Tábla Oszlop Sor 5
6 Object-Relational Mapping v Példa: class Book { int id; String title; String author; } CREATE TABLE Book ( INTEGER id, VARCHAR(255) title, VARCHAR(255) author ); 6
7 Problémás esetek v Hivatkozáshoz objektumoknál van referencia, ehelyett kell elsődleges kulcs v Öröklés Többféle stratégia, ld. később v Eltérő adattípusok v Mikor szinkronizáljunk a memóriában levő modell és az adatbázis között? 7
8 ORM keretrendszerek v Sok különböző ActiveObjects Öröklés + annotációk Torque JPA Kódgenerálás XML leíró fájlokból Annotációk és/vagy XML 8
9 JPA technológia Java Persistence API 9
10 Java Persistence API v EJB 3 specifikáció része v Elfedi az adatbázisszerver-specifikus részleteket v Futásidőben átlátszóan setterekkel tudjuk módosítani az objektumokat 10
11 JPA providerek v A JPA csak egy API specifikáció v Megvalósítását providerek biztosítják Hibernate OpenJPA Toplink EclipseLink 11
12 A JPA használata v Java osztályok (POJO) annotációkkal Alternatív módon: leképezés adatok XML-ben Felülírja az annotációkat Nem használjuk v Alapelem: Entity = perzisztens osztály v Perzisztens modul minden olyan jar, amelynek META-INF könyvtárában van persistence.xml fájl, amiben pl. a provider kerül definiálásra v javax.persistence csomag tartalmazza 12
13 Entitás megadása v Java (javax.persistence.entity) annotálva, default konstruktorral v Általában szerializálható (implements Serializable) v Kötelező elsődleges kulcs többféle automatikus ID-generáló stratégia megadható a strategy paraméterben 13
14 Entitás attribútumai v A perzisztens attribútumokat a kliensek getterek/setterek formájában érhetik el (JavaBean konvenció) v Nem perzisztens (tranziens) v Attribútum típusa lehet: primitív típus String, BigInteger, BigDecimal, java.util.date, java.util.calendar, java.sql.date, java.sql.time, java.sql.timestamp, byte[], Byte[], char[], Character[] Enum más entitás, más entitások gyűjteménye beágyazott osztály 14
15 Beágyazott osztály v Olyan osztály, ami önmagában nem él perzisztens entitásként, csak egy perzisztens entitás példányához kapcsolódva, public class EmploymentPeriod {... } java.util.date startdate; java.util.date enddate; v Felhasználása egy column=@column("emp_end")) public EmploymentPeriod getemploymentperiod() {... } 15
16 A leképezés testreszabása v Az entitás, illetve az attribútumok nevével azonos a default tábla- és oszlopnév, ez felülírható MyTable annotációval több táblába is szétszedhető MyColumn ) v Az oszlopoknak egyéb paraméterei is vannak nullable unique length 16
17 Öröklés v Fontos OO koncepció, melynek leképezése relációs adatbázisra nem triviális v EJB3-tól kezdve v Lehetséges leképezési módok: egy tábla egy osztályhierarchiához külön tábla gyermekosztályonként, hivatkozással egy tábla egy konkrét osztályhoz 17
18 Egy tábla egy osztályhierarchiához v egy táblában minden gyermekosztály v diszkriminátor oszlop írja le a típust v + hatékony (nem kell join) v + polimorfizmust támogatja v - mély hierarchia eseten sok, fölösleges oszlop v - a gyermekosztályok attribútumainak megfelelő oszlopoknak nullázhatóknak kell lenniük 18
19 Egy tábla egy osztályhierarchiához v A hierarchia v A hierarchia összes utaló érték>) 19
20 Egy tábla egy osztályhierarchiához Animal Dog Cow 20
21 Külön tábla gyermekosztályonként v Az ősosztályban definiált oszlopok egy táblában v A gyermekosztályokban definiált oszlopok külön táblákban + idegen kulcs az ősre v + nincsenek fölösleges oszlopok v + definiálható nem nullázható oszlop v + polimorfizmust támogatja v - mély hierarchia esetén a sok join rontja a teljesitményt 21
22 Külön tábla gyermekosztályonként Animal Dog Cow 22
23 Önálló táblák gyermekosztályonként v Külön tábla minden altípushoz v Minden tábla tartalmazza az ősosztály attribútumait is v + hatékony v - polimorfizmus támogatása nehézkes (oszlopdefiníciók többször szerepelnek) v az EJB 3 nem követeli meg a támogatását 23
24 Önálló táblák gyermekosztályonként Animal Dog Cow 24
25 Egyéb öröklési lehetőségek v Entitás származhat nem megjelölve az ősosztályt, annak nem lesz külön táblája egyik leképezési stratégia esetén sem, de az ottani attribútumok adatbázisba kerülnek nem megjelölve egyáltalán nem kerülnek bele v Nem entitás származhat entitásból v Entitás lehet absztrakt nem példányosodhat, de le lehet képezni táblába le lehet kérdezni 25
26 Relációk v Számosság v Irány szerint kétféle: Egyirányú Kétirányú (a kapcsolat mindkét végén levő entitásnak lesz kapcsolatmenedzselő getter/setter metódusa): mappedby paraméter v Kétirányú OneToMany = Kétirányú ManyToOne v A kapcsolatnak mindig egy tulajdonos oldala van 26
27 Példa reláció definiálására v Tulajdonos company_id ) private Company company; v Másik oldalon company_id ) private Collection<Employee> employees; v v v + getterek, setterek használandó, ha külön tábla tartja nyilván a kapcsolatot (pl. ManyToMany esetén mindenképpen) kötelezően tulajdonos oldal, mert nincs mappedby paramétere, többi esetben szabadon választható a tulajdonos oldal 27
28 Relációk kaszkádosítása v Mind a 4 kapcsolatdefiniáló annotációhoz megadható egy cascade elem, CascadeType.PERSIST, CascadeType.MERGE}) v Lehetséges értékek: PERSIST MERGE REMOVE REFRESH ALL v Azt adja meg, milyen műveletek hívódjanak meg a kapcsolódó entitásokra is v Default: nincs cascade 28
29 Fetch v Mind a 4 kapcsolatdefiniáló annotációhoz megadható egy cascade elem, v Azt adja meg, hogy egy entitás betöltésekor betöltődjenek-e a kapcsolódó entitások is v LAZY (lusta): nem töltődnek be, csak ha hivatkozunk rájuk így nem foglal memóriát, csak ha szükség van rá, de +1 lekérdezés v EAGER (mohó, ez a default): kezdetben betöltődnek gyorsabb, de több memóriát foglal v Finomhangolási lehetőség: legyen LAZY, de azokban a lekérdezésekben, ahol tudjuk, hogy szükség lesz a kapcsolódó entitásokra, használjunk fetch join-t az EJB-QL queryben, pl. SELECT c form Customer c LEFT JOIN FETCH c.orders 29
30 Lazy fetch problémák v Lecsatolt állapotban csak a korábban már hivatkozott kapcsolódó objektumokat fogja tartalmazni az entitás v Ha egy kapcsolatait a lecsatolódás miatt részben elveszítő entitást vissza-merge-elünk, az adatbázisban is törlődnek a kapcsolatok v A Lazy csak tanács, a persistence provider dönthet úgy, hogy mégis betölti mohó módon a kapcsolatokat 30
31 Perzisztencia kontextus v A persistence provider által kezelt entitások egy halmaza v Azonosítás a persistence unit nevével v Entity manager lekérése pl.: EntityManagerFactory factory = Persistence.createEntityManagerFactory( PERSISTENCE_UNIT_NAME); EntityManager entitymanager = factory.createentitymanager(); 31
32 Entity Manager v Entitások kezeléséért felelős v Használata: Entitások életciklusának kezelése Szinkronizáció az adatbázissal Entitások keresése lekérdezésekkel 32
33 Tranzakciókezelés v Tulajdonságok: Atomic Consistent Isolated Durable v Hívások: entitymanager.gettransaction(). begin() commit() rollback() 33
34 Entitások állapotai v new: new-val létrehozva kerül ide, csak a memóriában létezik, a módosítások nem mennek adatbázisba v managed: létezik az adatbázisban, és hozzátartozik egy perzisztencia kontextushoz. Ez azzal jár, hogy a módosítások tranzakció commit végén, vagy explicit flush() hívással bekerülnek az adatbázisba v detached: adatbázisban megvan, de nem tartozik perzisztens kontextushoz; ebben az állapotban olyan, mint egy DTO (Data Transfer Object) v removed: még perzisztencia kontextushoz tartozik, de már ki van jelölve, hogy törölve lesz az adatbázisbol 34
35 Entitások életciklusa 35
36 Entitás életciklus callbackek v Metódusok a következő @PreUpdate v A persistence provider hívja őket v Ha külön osztályba akarjuk kötjük hozzá az entitáshoz az osztályt, és a metódusok az entitást megkapják paraméterül 36
37 Adatbázis szinkronizáció v Általában commitkor automatikusan megtörténik v Explicit módon is megtehetjük az EntityManageren keresztül: flush(entity): beírja a változtatásokat refresh(entity): beolvassa a változtatásokat 37
38 Lekérdezések v Egyszerű keresés elsődleges kulcs alapján: <T> T find(class<t> entityclass, Object primarykey) v Bonyolultabb lekérdezések: EJB-QL nyelven: public Query createquery(string ejbqlstring) natív SQL: public Query createnativequery(string sqlstring) 38
39 Lekérdezések v Paraméterkezelés (biztonság): setparameter(string, Object)/setParameter(int, Object): név vagy index alapján v Eredmény lekérése: getsingleresult() getresultlist() v Módosítás/törlés executeupdate() Lehetőség van tömeges törlésre/módosításra 39
40 Konkurenciakezelés v Két lehetőség meg kell jelölni egy egész szám vagy TimeStamp típusú attribútumot ezt a persistence provider kezeli (update-kor növeli), kódból nem módosítjuk ha beíráskor azt látja, hogy a verziószám módosult (egy konkurens kliens módosítása miatt), nem módosít, hanem OptimisticLockException-t dob Explicit zárak entitymanager.lock(object entity, LockMode) LockMode: READ vagy WRITE lehet csak tranzakción belül hívható 40
41 JPA használatát segítő Eclipse technológiák Eclipse Dali, EclipseLink 41
42 Eclipse Dali v A Web Tools Platform része Természetesen Java SE-vel is használható v Forms alapú szerkesztőfelület Persistence unit Entity v Függőségkezelés megkönnyítése v Integráció bármelyik providerrel, de EclipseLinkkel a legkényelmesebb v Egyéb eszközök: Entitások és táblák közötti konverzió Annotált & persistence.xml-ben felsorolt entitások szinkronizációja 42
43 Eclipse Dali 43
44 EclipseLink v TopLinkre épül v Jól használható OSGi környezetben v Együttműködik a Dalival v org.eclipse.persistence.jpa bundle 44
45 EclipseLink-specifikus propertyk v A provider neve org.eclipse.persistence.jpa.persistenceprovider OSGI környezetben org.eclipse.persistence.jpa.osgi.persistenceprovider v Automatikus sémalétrehozás <property name="eclipselink.ddl-generation" value="dropand-create-tables"/> vagy create-tables <property name="eclipselink.ddl-generation.output-mode" value="database"/> 45
46 Használat v EntityManager lekérése EntityManager entitymanager = new org.eclipse.persistence.jpa.osgi.persistenceprovider(). createentitymanagerfactory(persistence_unit_name). createentitymanager(); v Tranzakció kezdés entitymanager.gettransaction().begin(); v Tranzakció befejezés entitymanager.gettransaction().commit(); v EntityManager lezárása entitymanager.close(); 46
47 További források v Prezentációk persistencecmcdonaldmainejug3 v Tutorialok
A Java Persistence API PersistenceAPI / 3
A Java Persistence API Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 27. A Java Persistence API Előzm zmények Szerializálás Egyedi kevés automatizmus Hibernate,
Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.
Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens
Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia
Java technológiák 11. előadás Perzisztencia ANTAL Margit Sapientia - EMTE 2010 Az előadás célja JPA Java Persistence API ORM Object Relational Mapping Entitások közötti asszociációk megvalósítása Fontosabb
Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
Enterprise JavaBeans 1.4 platform (EJB 2.0)
Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans
EJB - Perzisztencia. EntityManager
EJB - Perzisztencia EntityManager JPA Objektumok állapotának tárolása adatbázis rendszerekben, a JDBC feletti (arra épülő) absztrakciós szint Specifikáció: Java Persistence API (JPA) (az EJB 3.0-tól különálló)
Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István
Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is
Szakdolgozat. Kovács Lilla
Szakdolgozat Kovács Lilla Debrecen 2009 Debreceni Egyetem Informatikai Kar Szoftverfejlesztés Java környezetben Témavezetı: Espák Miklós Egyetemi tanársegéd Készítette: Kovács Lilla Programtervezı informatikus
6. rész: EJB-k tervezése és implementálása
6. rész: EJB-k tervezése és implementálása Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A tananyag készült az ELTE-IKKK projekt támogatásával Tartalom Session EJB-k - folyt Tranzakciók
JEE tutorial. Zsíros Levente, 2012
JEE tutorial Zsíros Levente, 2012 A J2EE részei Webkonténer Szervletek JSP oldalak EJB (Enterprise Java Bean) konténer Session Bean Entity Bean (Java Persistence API-t használják) A Glassfish és JBoss
Bevezetés: az SQL-be
Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak
Adatbázis rendszerek I
Normalizálás 1NF 2NF BCNF Adatbázis rendszerek I 20111201 1NF 2NF BCNF Ha BCNF 2NF A B B A 2NF BCNF 2NF részkulcsból indul ki FD létezik FD, amely nem jelölt kulcsból indul ki Jelölt kulcs olyan mezőcsoport
7. rész: A specifikációtól az implementációig az EJB rétegben
7. rész: A specifikációtól az implementációig az EJB rétegben Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A tananyag készült az ELTE-IKKK projekt támogatásával Tartalom Tervezés lépései
JAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése
BEVEZETÉS Célkitűzések Az Oracle10g felépítésének, használatának alapszíntű megismerése A relációs adatbázis-kezelés elméleti és gyakorlati vonatkozásainak áttekintése Az SQL, PL/SQL nyelvek használatának
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
Adatmodellezés, alapfogalmak. Vassányi István
Adatmodellezés, alapfogalmak Vassányi István Alapok A helyes modell az információs rendszer későbbi használhatóságánakazalapja, olyanmint a jómunkaruha: véd, de nem akadályozza a munkát Objektum-orientált
SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1
SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben
A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai
8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló
Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009
Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció
Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia
Enterprise Java Beans. EJB - Általános bevezető
Enterprise Java Beans EJB - Általános bevezető EJB Sun definíció: The Enterprise JavaBeans architecture is a component architecture for the development and deployment of component-based distributed business
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Bevezetés a Seam keretrendszer használatába
Bevezetés a Seam keretrendszer használatába Készítette: Csikós Donát Készült: 2011. Február Bevezetés A modern Java EE alapú rendszerekben sok összetett eszközkészlet alakult ki, melyek a gyakorlatban
Adatbázis rendszerek. dr. Siki Zoltán
Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti
S04-2 Elosztott alkalmazások készítése
S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe
Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
Metamodellezés. Simon Balázs BME IIT, 2011.
Metamodellezés Simon Balázs BME IIT, 2011. Bevezetés Metamodellezés EMF & ecore Tartalom (C) Simon Balázs, BME IIT, 2011. 2 Hétfő: Simon Balázs Bevezetés hetente felváltva: előadás és gyakorlat metamodellezés
Kliens oldali SQL-API
Adatbázis rendszerek I mysql SQL program API ME- GEIAL Dr. Kovács Lászl szló Üzleti logika elhelyezése adatbázis Kliens üzleti logika Nagy hálózati forgalom Decentralizált lt karbantartás Lassabb végrehajt
Relációsémák létrehozása SQL nyelvben
Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,
Osztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet
1 2 Adatbáziskezelő-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón
SQL DDL-1: táblák és megszorítások
SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre
Tartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai
EJB 3 Tartalom Az EJB 2.1 problémái Az EJB 3 megoldásai Miért nem szeretik sokan az EJB 2.1-et? bonyolult a fejlesztés: sok file (legalább 3 java + legalább 2 xml), a fejlesztı eszközök varázslóival kell
Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 10. előadás (Entity Framework) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto
Tranzakciókezelés PL/SQL-ben
Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első
Programozási nyelvek Java
Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract
C#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.
ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu
ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.
Adatmodellezés. 1. Fogalmi modell
Adatmodellezés MODELL: a bonyolult (és időben változó) valóság leegyszerűsített mása, egy adott vizsgálat céljából. A modellben többnyire a vizsgálat szempontjából releváns jellemzőket (tulajdonságokat)
Adatbázisrendszerek. adatbázisokban. Objektumorientált és objektum-relációs adatbázisok április 24.
Adatbázisrendszerek Objektum-orientáltság Objektumorientált és objektum-relációs 2018. április 24. Előadás vázlata 2 Objektumorientált Az ODMG (Object Database Management Group) szerepe Az SQL objektumorientált
ANDROID ALKALMAZÁSFEJLESZTÉS
ANDROID ALKALMAZÁSFEJLESZTÉS Adattárolás SharedPreference Belső - külső tároló PreferenceActivity Felhő alapú tárolás SQLite sicz.mj[tekercs]gmail.com Sicz-Mesziár János 2013. július 3. Shared Preference
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (Entity Framework) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Microsoft
OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.
OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte
Szoftver Tervezési Dokumentáció. Nguyen Thai Binh
Szoftver Tervezési Dokumentáció Nguyen Thai Binh April 2010 1. fejezet Feladat Szimulációs feladat. Célja, hogy reprezentáljunk egy több komponensből álló alkalmazást, amely a megadott témakörnek megfelel,
Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)
Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek
Adatbázisok webalkalmazásokban
Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql
Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat 2012.03.05.
1 2 Adatbáziskezelı-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón
Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Szoftverarchitektúrák. 12. Sorozat portál (követelmény specifikáció)
Szoftverarchitektúrák specifikáció Szoftverarchitektúrák 12. Sorozat portál (követelmény specifikáció) Balázs Zoltán (X0ELSN) Kiss Zoltán (BUS1FJ) Szoftverarchitektúrák specifikáció Tartalomjegyzék 1 Bevezető...
SZAKDOLGOZAT CSEHI MIKLÓS DEBRECEN 2009.
SZAKDOLGOZAT CSEHI MIKLÓS DEBRECEN 2009. DEBRECENI EGYETEM INFORMATIKA KAR Témavezető: Dr Adamkó Attila Készítette: Csehi Miklós egyetemi tanársegéd programtervező informatikus MsC EJB3 ENTITÁSOK JAVASERVER
ADATBÁZIS-KEZELÉS. Relációs modell
ADATBÁZIS-KEZELÉS Relációs modell Relációséma neve attribútumok ORSZÁGOK Azon Ország Terület Lakosság Főváros Földrész 131 Magyarország 93036 10041000 Budapest Európa 3 Algéria 2381740 33769669 Algír Afrika
Programozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
C++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
Adatbázis, adatbázis-kezelő
Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,
Java programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.
Tranzakció-kezelés, alapfogalmak Vassányi István, 2012. ACID tulajdonságok Tranzakció: az üzleti folyamat egy logikailag összetartozó lépéssorozata atomicity: nem valósulhat meg részlegesen consistency:
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
Objektum relációs lehetőségek az Oracle-ben. Katona Endre Adatbázis alapú rendszerek diasorozata alapján
Objektum relációs lehetőségek az Oracle-ben Katona Endre Adatbázis alapú rendszerek diasorozata alapján Az objektum-relációs adatmodell ODL, OQL: az objektum-orientált világba átemel SQL elemeket. Itt
Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
Adatbázis-kezelő rendszerek. dr. Siki Zoltán
Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
B I T M A N B I v: T 2015.03.01 M A N
Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs
Magas szintű adatmodellek Egyed/kapcsolat modell I.
Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés
SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA (ISM.) SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel]
SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés
Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez
Java és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
Adatbázis-lekérdezés. Az SQL nyelv. Makány György
Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
Informatikai alapismeretek Földtudományi BSC számára
Informatikai alapismeretek Földtudományi BSC számára 2010-2011 Őszi félév Heizlerné Bakonyi Viktória HBV@ludens.elte.hu Titkosítás,hitelesítés Szimmetrikus DES 56 bites kulcs (kb. 1000 év) felcserél, helyettesít
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 Oktatóanyag 2 Az oktatás folyamán használt példák a fent látható egyszerű modell implementációi. Oktatóanyag 3 A definíciós részben definiálja a fejlesztő az egyes attribútumokat, metódusokat,
Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté.
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 3. előadás Objektumrelációs adatkezelés (Entity Framework) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült
SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok
SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,
A JavaServer Pages (JSP)
A JavaServer Pages (JSP) Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 27. JSP Harmadik generáci ciós s WEB szerver A dinamikus lap a tipikus Dinamikus
Adattárház tiszta alapokon Oracle Day, Budapest, november 8.
Adattárház tiszta alapokon Oracle Day, Budapest, 2011. november 8. WIT-SYS Consulting Zrt. Lévai Gábor gabor.levai@wit-sys.hu Tematika Az adattárházról általánosan Az adattárház definíciója Fő jellemzők
Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL
Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL Témavezető: Dr. Bajalinov Erik Tudományos főmunkatárs Készítette: Juhász Gergely József Informatikatanári
Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
Java Persistence API. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: december 20.
Java Persistence API Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu Utolsó módosítás: 2018. december 20. Fogalmak Perzisztencia (persistence) Adatelérési objektum (data
INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010
INFORMATIKA ÁGAZATI ALKALMAZÁSAI Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 2. Adatbáziskezelés eszközei Adatbáziskezelés feladata Adatmodell típusai Relációs adatmodell
Alternatív adatbázisok Gráfadatbázisok
Alternatív adatbázisok Gráfadatbázisok Adatbázis típusok Relációs PostgreSQL, Oracle, MySQL, stb. Dokumentum MongoDB, CouchDB, OrientDB Gráfadatbázis Neo4J, OrientDB, ArangoDB, InfiniteGraph Key-value
Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN
Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek
Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2
Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3
Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
Abstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
Komponens alapú fejlesztés
Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.
KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,