..
S odkazem na příklad předchozího odstavce, vidíme, jak vytvořit DAO účetní jednotky do auta.
Především creaimo rozhraní s metodami založenými na DAO, a to: načíst, uložit, aktualizace a mazání.
it.mrwebmaster.hibernate.dao balení;
it.mrwebmaster.hibernate.Car dovoz;
{Public interface CarDao
Veřejné kryté zatížení (Integer id);
uložit veřejné Car (Auto);
Aktualizace veřejné Auto (Auto);
public void odstranit (Auto);
}
Vytvořeno rozhraní projít při vytváření realizace:
it.mrwebmaster.hibernate.dao balení;
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")
soukromé EntityManager em;
@ Override
public void odstranit (Auto) {
em.remove (char);
}
@ Override
@ Transakční (readonly = true)
Veřejné kryté zatížení (Integer id) {
návrat em.find (Car.class, id);
}
@ Override
uložit veřejné Car (Auto) {
em.persist (char);
vrácení vozu;
}
@ Override
Aktualizace veřejné Auto (Auto) {
em.merge návratu (char);
}
public void setEm (EntityManager em) {
this.em = em;
}
getEm veřejné EntityManager () {
návrat p;
}
}
a konečně v "applicationContext.xml:
<- CAR DAO -> <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />
Jak je vidět na provedení nost DAO potřebujeme EntityManager, který je vstřikován přímo od nás "pomocí anotace @ IoC PersistenceContext.
Implementace jednotlivých metod je triviální, prostě delegovat práci all'EntityManager.
Pokud jde o řízení transakcí, se rozhodla používat @ transakční poznámky.
To umožňuje jara vytvořit instanci našeho DAO bude používat proxy server, jehož úkolem je otevřít a zavřít transakci před voláním metody a ihned po "odchodu z vlastní metodu dělat commit nebo rollback v případě Chyba.
Všimněte si, konečně, užívání @ transakční pro ReadOnly nell'annotation zatížení metodu, přitom vytvořil přechod jen pro čtení.
Tato transakce management se provádí pomocí AOP, aby to jen přidat do naší applicazionContext.xml:
<- Management transakcí -> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </ Bean> <tx:annotation-driven transaction-manager="transactionManager" />
| |
Linux (kurz)
Kompletní průvodce pro open-source systému. Od 49 €. |
| |
PHP (kurz)
Celý kurz pro vytváření dynamických webů. Od 49 €. |
| |
Ruby a Ruby on Rails (kurz)
Vytvořit software a webových aplikací s Ruby a RoR. Od 39 €. |