Java e i database: da JDBC a JPA - Presentation Transcript
Java e i database: da JDBC a JPA
Lucio Benfante
lucio@benfante.com
verona.javaday.it www.jugpadova.it
database...chi era costui?
The database and the applications
database
Application 1 Application 3
Application 2
Atomicity
another
Consistency db
Isolation
Durability
Relational databases
person city
id first_name last_name father born_in id name
n 1 Lucio Benfante 101 n 1
101 Venezia
2 Giacomo Puccini 3 102 born_in_city
102 Lucca
3 Michele Puccini 102
4 Antonio Puccini 2 103 103 Milano
0
father
The term relational database was
originally defined and coined by
Edgar Codd at IBM Almaden
Research Center in 1970.
SQL: Structured Query Language
SELECT first_name, last_name FROM person
WHERE last_name = 'Puccini'
ORDER BY first_name;
INSERT INTO person VALUES (5, 'Mario', 'Rossi', NULL, NULL);
UPDATE person SET first_name = 'Carlo' WHERE id = 1;
DELETE FROM person WHERE id = 1;
...and much more, included Data Definition Language (DDL).
Relational
Database Management Systems (DBMS)
Informix
DB2 Dynamic Server
(just a small selection)
specific
DBMS
protocol
Application DBMS
Hibernate
Getting your objects
SessionFactory sf =
new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery(
“from Person p where p.lastName = :lastName”);
q.setString(“lastName”, “Puccini”);
List people = q.list();
// here you'll have a list of persistent Person objects
Person person = ((Person)people.get(0))
City city = person.getBornIn();
person.setFirstName(“Pippo”);
tx.commit();
session.close();
sf.close();
Hibernate
Creating new records
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Person person = new Person(“Lucio”, “Benfante”);
session.save(person);
tx.commit();
session.close();
La persistenza dei dati è una caratteristica fonda more
La persistenza dei dati è una caratteristica fondamentale di ogni applicazione, e quasi sempre la scelta ricade sull’utilizzo di un database relazionale. Java, fin dalle sue prime versioni, ha avuto a disposizione la libreria JDBC per accedere a tale tipo di database. In questa presentazione si mostrerà come utilizzare la libreria JDBC, mostrandone pregi e limiti. In seguito si mostrerà l’utilizzo tradizionale di Hibernate, forse il più famoso e diffuso degli Object/Relational Mapper (ORM), che permettono di trattare i dati relazionali inserendoli all’interno di oggetti. Infine si introdurrà la Java Persistence API (JPA), la libreria di persistenza ORM introdotta con la Java Enterprise Edition (JEE) 5. less
0 comments
Post a comment