2017-05-05 35 views
5

Jestem nowicjuszem w Hibernacji, który chce obecnie zaimplementować klasy szablonu Hibernacji, każdy z nich proszę mi powiedzieć o klasach szablonu hibernacji.Co to jest klasa HibernateTemplate?

plik xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:jdbc="http://www.springframework.org/schema/jdbc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx.xsd"> 

    <bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost/test" /> 
     <property name="username" value="root" /> 
     <property name="password" value="mnrpass" /> 
    </bean> 
    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="mappingResources"> 
      <list> 
       <value>employee.hbm.xml</value> 
      </list> 
     </property> 
     <property name="configLocation" value="classpath:hibernate.cfg.xml" /> 
    </bean> 
    <bean id="springHibernateExample" class="com.javarticles.spring.hibernate.SpringHibernateExample"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
</beans> 
+0

sprężyny HibernateTemplate zapewnia abstrakcyjną warstwę nad hibernacji sesji. Konwertuje wyjątki specyficzne dla Hibernacji na jeden z niespójnych wiosennych wyjątków dostępu do danych. Udostępnia również wiele wygodnych metod, które pomagają w wyszukiwaniu i utrzymywaniu obiektów. – Sudhakar

Odpowiedz

3

Copied from Hibernate Interview Questions:

Hibernate Szablon

Kiedy Wiosna i Hibernacja integracja zaczęła, Wiosna ORM umieszczono dwa klas pomocników - HibernateDaoSupport i HibernateTemplate. Powodem, dla którego ich użycie było , było uzyskanie Session z Hibernate i uzyskanie korzyści w postaci wiosennego zarządzania transakcjami . Jednak z wersji Hibernate 3.0.1 możemy użyć metody SessionFactory getCurrentSession(), aby uzyskać bieżącą sesję i użyć jej do uzyskania korzyści z zarządzania transakcjami wiosennymi. Jeśli przejrzysz powyższe przykłady, zobaczysz, jak łatwo jest i , dlatego nie powinniśmy już używać tych klas.

Inną korzyścią HibernateTemplate było tłumaczenie wyjątku, ale można to łatwo osiągnąć, stosując adnotację @Repository z klasami usług , pokazaną w powyższym przykładzie sprężyny mvc. To jest pytanie podstępne, aby ocenić swoją wiedzę i czy wiesz o ostatnich zmianach, czy nie.

1

HibernateTemplate to klasa org.springframework.orm.hibernate3. HibernateTemplate zapewnia integrację hibernacji i sprężyny. Spring samodzielnie zarządza połączeniami z bazami danych DML, DDL itp. HibernateTemplate ma metody takie jak zapisywanie, aktualizowanie, usuwanie itd. Postaraj się zrozumieć, jak skonfigurować HibernateTemplate w naszej aplikacji na wiosnę.

Dodaj konfigurację xml w application.xml aplikacji spring.

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> 
<property name="sessionFactory"> 
    <ref bean="sessionFactory" /> 
</property> 

hibernateTemplate zostaną wykorzystane w klasach DAO. Zainicjuj hibernateTemplate. Podaj metodę ustawiającą, aby ustawić hibernateTemplate na wiosnę.

private HibernateTemplate hibernateTemplate; 

public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { 
    this.hibernateTemplate = hibernateTemplate; 
} 

public void persist(){ 
    User u1= new User(1,"Ankita"); 
    hibernateTemplate.save(u1); 

    User u2= new User(2,"Renu"); 
    hibernateTemplate.save(u2); 

} 
0

HibernateTemplate jest klasa pomocnika, który jest używany w celu uproszczenia kodu dostępu do danych. Ta klasa obsługuje automatycznie konwertuje HibernateExceptions, który jest sprawdzanym wyjątkiem do DataAccessExceptions, który jest niezaznaczonym wyjątkiem. HibernateTemplate jest zwykle używany do implementacji dostępu do danych lub usług logiki biznesowej. Środkową metodą jest execute(), która obsługuje kod Hibernate, który implementuje interfejs HibernateCallback. Zdefiniuj HibernateTemplate.

org.springframework.orm.hibernate.HibernateTemplate to klasa pomocnicza, która udostępnia różne metody wyszukiwania/pobierania danych z bazy danych. Konwertuje również sprawdzone wartości HibernateExceptions do niezaznaczonych obiektów DataAccessExceptions.

korzyści

HibernateTemplate:

  1. HibernateTemplate upraszcza interakcje z hibernacji sesji.

  2. Funkcje, które są wspólne, są uproszczone do pojedynczych wywołań metod.

  3. Sesje są automatycznie zamykane.

  4. Wyjątki są automatycznie przechwytywane i przekształcane w wyjątki środowiska wykonawczego.

Odwiedź ten link do prawidłowego przykład

http://www.javarticles.com/2015/04/spring-hibernatetempate-example.html