cours/EJB entity bean.md
Oscar Plaisant 602a41e7f8 update
2024-12-25 22:30:24 +01:00

2.2 KiB

aliases
aliases
entity beans

up:: Enterprise Java Beans #s/informatique/langage/java

[!definition] Définition Un entity bean est un Enterprise Java Beans qui matérialise des données pour qu'elles soient manipulables par des EJB session beans. Les entity bean sont responsables de la liaison entre la couche business et la couche données (modèle OSI) Le plus souvent, un entity bean représente une ligne ou une table d'une base de données. ^definition

title: "Sous-notes"
type: tree
collapse: false
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]

Exemples

Livre

@Entity 
public class Book {
    @Id @GeneratedValue 
    private Long id;
    @Column(nullable = false) 
    private String title;
    private Float price;
    @Column(length = 2000)
    private String description;
    private String isbn;
    private Integer obOfPage;
    private Boolean illustrations;

    // constructeur, getters et setters
}

Exemple d'insertion d'un nouveau livre :

public class Main {
    public static void main(String[] args) {
        // créer une instance de livre :
        Book book = new Book();
        book.setTitle("The Hitchhiker's Guide to the Galaxy");
        book.setPrice(12.5F);
        book.setDescription("Science fiction comedy book");

        // récupérer un pointer sur l'entity manager :
        EntityManagerFactory enf =
            Persistence.createEntityManagerFactory("chapter02PU");
        EntityManager em = emf.createEntityManager();

        // rendre l'objet persistant
        EntityTransaction tx = em.getTransaction();
        tx.begin();
        em.persist(book);
        tx.commit();

        em.close();
        emf.close()
    }
}

Depuis un EJB session beans

@Stateless
public class UnSessionBean {
    @PersistenceContext(unitName="EmployeeService")
    EntityManager em;

    public Book createBook(String titre,...) {
        // instancier le livre
        Book book = new Book();
        book.setTitle(...);
        ...

        // rendre le livre persistant
        em.persist(book);
        return book;
    }
}