11. Ils peuvent également être spécifiés avec les fichiers XML <?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns=" http://java.sun.com/xml/ns/javaee " ... version="3.0"> <enterprise-beans> <session> <ejb-name>MonBean</ejb-name> <ejb-class>monpackage.MonBean</ejb-class> <post-construct> <lifecycle-callback-class>monpackage.MonBean</lifecycle-callback-class> <lifecycle-callback-method> maMethodePostConstruct </lifecycle-callback-method> </post-construct> </session> ...
21. Avec Java EE 5, il y a un nouveau modèle de persistance : J ava P ersistence A pi
22.
23.
24.
25. Un EntityManager est injectable comme d'autres ressources Java EE @PersistenceContext private EntityManager entityManager Injection d'un gestionnaire de persistance
26.
27. Les requêtes JPA-QL sont exécutées en utilisant l'objet EntityManager MonEntity entity = new MonEntity(); entityManager.persist(entity); Query query = entityManager.createNamedQuery(“select b FROM Book b); List<Book> books = query.getResultList();
28. Persistance : Métadonnées Entity @Entity @Table(name=”EMPLOYEES”) @Id public class Employee { private int id; private String name; public int getId() { return id; } public void setId(final int id) { this.id = id; } public void setName(final String name) { this.name = name; } public String getName() { return name; } } Clef primaire
59. Même conception que les intercepteurs de méthodes métiers public void myPostConstruct(InvocationContext ctx) { ...} @PostConstruct @PreDestroy public void myPreDestroy() { ...}
60. EJB / JPA : Annotations de cycle de vie Annotation SLSB SFSB MDB X X X X X X X X Session & Message Driven Beans Entities @PostPersist @PreRemove @PostRemove @PreUpdate @PostUpdate @PostLoad @PrePassivate (ejbPassivate) @PostActivate (ejbActivate) @PostConstruct (ejbCreate) @PreDestroy (ejbRemove)