Verso i session bean. Gli EntityManager.
Stabilito che quindi avremo a che fare con gli entity bean, e che queste sono entry di tabelle relazionali, facciamo un passo oltre e capiamo il modo per arrivare a farci un po' di manipolazione.
La via primaria e' quella di usare dei session bean, che traducono in qualche modo i task che dobbiamo realizzare per il nostro sistema informatico: prenotare un noleggio, effettuare il pagamento, ecc ecc.
Il session bean deve contenere un EntityManager (e' buon uso che lo contenga, diciamo) che si occupi della persistenza (nel DB) dei dati che inseriamo, cancelliamo e modifichiamo.
Gli EntityManager si occupano dei caratteri transazionali delle nostre attivita', che tradotto in soldoni per i piu', significa garantire che accedendo in molti agli stessi dati non ci si pesti i piedi gli uni con gli altri sovrascrivendo modifiche altrui o usufruendo di dati non piu' attuali.
Vediamo, tanto per, la creazione di un nuovo elemento Automobile e la sua ricerca nel DB.
package com.cAR4u.agenzia;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import com.cAR4u.domain.Automobile;
@Stateless
public class AgenziaBean implements AgenziaRemote{
@PersistenceContext
(unitName="cAR$u")
private EntityManager manager;
public void createAutomobile(Automobile auto) {
manager.persist(auto);
}
public Automobile findAutomobile(int pKey) {
return manager.find(Automobile.class, pKey);
}
}
Da usare previa definizione dell'interfaccia opportuna
package com.cAR4u.agenzia;
import javax.ejb.Remote;
import com.cAR4u.domain.Automobile;
@Remote
public interface AgenziaRemote {
public void createAutomobile(Automobile auto);
public Automobile findAutomobile(int id);
}
Sfortunatamente, salendo verso il livello applicativo vero e proprio stiamo tralasciando il mapping della persistenza, mi appunto un'altra volta che dobbiamo farci una tappa presto.
Iscriviti a:
Commenti sul post (Atom)
2 commenti:
Gli insulti anonimi non li accetto, almeno firmatevi. :)
No Java no !!!
JL
Posta un commento