..
S odkazom na príklad predchádzajúceho odseku, vidíme, ako vytvoriť DAO účtovnej jednotky do auta.
Predovšetkým creaimo rozhranie s metódami založenými na DAO, a to: načítať, uložiť, aktualizácia a mazanie.
it.mrwebmaster.hibernate.dao balenia;
it.mrwebmaster.hibernate.Car dovoz;
{Public interface CarDao
Verejné kryté zaťaženie (Integer id);
uložiť verejné Car (Auto);
Aktualizácia verejné Auto (Auto);
public void odstrániť (Auto);
}
Vytvorené rozhranie prejsť pri vytváraní realizácie:
it.mrwebmaster.hibernate.dao balenia;
it.mrwebmaster.hibernate.Car dovoz;
javax.persistence.EntityManager dovoz;
javax.persistence.PersistenceContext dovoz;
org.springframework.transaction.annotation.Transactional dovoz;
@ Transakčné
CarDaoImpl {public class implementuje CarDao
@ PersistenceContext (unitName = "môže")
súkromné EntityManager em;
@ Override
public void odstrániť (Auto) {
em.remove (char);
}
@ Override
@ Transakčné (readonly = true)
Verejné kryté zaťaženie (Integer id) {
návrat em.find (Car.class, id);
}
@ Override
uložiť verejné Car (Auto) {
em.persist (char);
vrátenie vozidla;
}
@ Override
Aktualizácia verejné Auto (Auto) {
em.merge návratu (char);
}
public void setom (EntityManager em) {
this.em = em;
}
getEm verejné EntityManager () {
návrat p;
}
}
a konečne v "applicationContext.xml:
<- CAR DAO -> <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />
Ako je vidieť na prevedenie nos DAO potrebujeme EntityManager, ktorý je vstrekovaný priamo od nás "pomocou anotácie @ IOC PersistenceContext.
Implementácia jednotlivých metód je triviálne, jednoducho delegovať prácu all'EntityManager.
Pokiaľ ide o riadenie transakcií, sa rozhodla používať @ transakčné poznámky.
To umožňuje jari vytvoriť inštanciu nášho DAO bude používať proxy server, ktorého úlohou je otvoriť a zavrieť transakciu pred volaním metódy a ihneď po "odchode z vlastnej metódu robiť commit alebo rollback v prípade chyba.
Všimnite si, konečne, užívanie @ transakčné pre Readonly nell'annotation zaťaženie metódu, pritom vytvoril prechod len na čítanie.
Táto transakcia management sa vykonáva pomocou AOP, aby to len pridať do našej applicazionContext.xml:
<- Management transakcií -> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </ Bean> <tx:annotation-driven transaction-manager="transactionManager" />
| |
Linux (kurz)
Kompletný sprievodca pre open-source systému. Od 49 €. |
| |
PHP (kurz)
Celý kurz pre vytváranie dynamických webov. Od 49 €. |
| |
Ruby a Ruby on Rails (kurz)
Vytvoriť softvér a webových aplikácií s Ruby a ROR. Od 39 €. |