La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 (www.jcp.org).www.jcp.org Tentativo di unificare EJB2.1 con.

Presentazioni simili


Presentazione sul tema: "JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 (www.jcp.org).www.jcp.org Tentativo di unificare EJB2.1 con."— Transcript della presentazione:

1 JPA Overview della tecnologia

2 Java Persistence Architecture Definita nella JSR-220 EJB 3.0 (www.jcp.org).www.jcp.org Tentativo di unificare EJB2.1 con JDO (Java Data Object). Java Persistence API (JPA) permette di mappare POJO in dati relazionale. API standard per: – il salvataggio dei dati – la loro consultazione – Cambiamento cancellazione.

3 JPA I dati persistenti vengono chiamti Entity. Per esempio User puo essere una entity. I dati dellutente sono dati permanenti: – Name – Surname –

4 Entity public class private int id; private String name; private String surname; private String ; public User(String name, String surname, String ) { super(); this.name = name; this.surname = surname; this. = ; }

5 ORM TabellaClasse Colonna della TabellaCampo della Class Riga della TabellaIstanza della classe

6 JPA Si basa sul concetto di Cache. Flush dei dati della Cache nel database per modificare e inserire i dati nel database. In JPA il PersistenceContext e una Cache. Un EntityManager gestisce un PersistenceContext (e quindi una cache). Un EntityManagerFactory ci permette di creare una cache.

7 Come ottenere un EntityManager public class EMF { private static final EntityManagerFactory emfInstance = Persistence.createEntityManagerFactory("tutorial"); private EMF() {} public static EntityManagerFactory get() { return emfInstance; } Nella Servlet: EMF.get().createEntityManager()

8 Aggiungere un Utente if (action.compareToIgnoreCase("addUser") == 0) { // Performs some checks could be done by javascript String name = req.getParameter("name"); String surname = req.getParameter("surname"); String = req.getParameter(" "); if (name != null && surname != null && != null) { User user = new User(name, surname, ); try { em.getTransaction().begin(); em.persist(user); em.getTransaction().commit(); out.println("SAVED USER: name=" + name + " surname=" + " =" + ); } finally { em.close(); }

9 Visualizzare tutti gli utenti if (action == null) { Query query = em.createQuery("SELECT u FROM it.unige.dist.appengine.entity.User u"); List users = query.getResultList(); for (User user : users) { out.println("USER: name=" + user.getName() + surname= + user.getSurname() + " =" + user.get ()); }

11 Rimuovere Utenti em.getTransaction().begin(); User e = em.find(User.class, Long.valueOf(id)); em.remove(e); em.getTransaction().commit();

12 Esempio di persistence.xml per Jboss e MySQL.

13 Entity public class private int nullable=false, length=70)) private String nullable=false, length=70)) private String nullable=false, length=70)) private String ; public User(String name, String surname, String ) { super(); this.name = name; this.surname = surname; this. = ; } … // setters & getters … }

14 Riferimenti Introduction to Java Persistence API(JPA): The Java EE 5 Tutorial:


Scaricare ppt "JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 (www.jcp.org).www.jcp.org Tentativo di unificare EJB2.1 con."

Presentazioni simili


Annunci Google