Je suis nouveau dans Hibernate et je veux actuellement implémenter les classes Hibernate Template, s'il vous plaît, parlez-moi des classes Hibernate Template.

Fichier 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>
9
user7967371 5 mai 2017 à 12:22

3 réponses

Meilleure réponse

Copié des questions d'entrevue Hibernate:

Modèle Hibernate

Lorsque l'intégration Spring et Hibernate a commencé, Spring ORM a fourni deux classes d'assistance - HibernateDaoSupport et HibernateTemplate. La raison les utiliser, c'était obtenir le Session de Hibernate et en profiter de la gestion des transactions Spring. Cependant, à partir d'Hibernate 3.0.1, nous pouvons utilisez la méthode SessionFactory getCurrentSession() pour obtenir le courant session et utilisez-la pour profiter des avantages de la gestion des transactions du printemps. Si vous parcourez les exemples ci-dessus, vous verrez à quel point c'est facile et c'est pourquoi nous ne devrions plus utiliser ces classes.

Un autre avantage de HibernateTemplate était la traduction d'exceptions, mais cela peut être obtenu facilement en utilisant l'annotation @Repository avec classes de service, illustrées dans l'exemple ci-dessus spring mvc. C'est un truc question pour juger de vos connaissances et si vous êtes au courant de développements ou non.

10
Alex 4 juin 2017 à 00:35

HibernateTemplate est la classe de org.springframework.orm.hibernate3. HibernateTemplate fournit l'intégration de l'hibernate et du printemps. Spring gère lui-même les commandes de connexion à la base de données DML, DDL, etc. HibernateTemplate a des méthodes telles que enregistrer, mettre à jour, supprimer etc. Essayez de comprendre comment configurer HibernateTemplate dans notre application Spring.

Ajoutez une configuration xml dans application.xml de l'application Spring.

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

HibernateTemplate sera utilisé dans les classes dao. Initialisez hibernateTemplate. Fournissez une méthode setter pour définir hibernateTemplate par spring.

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);

}
1
JustCode 5 juin 2017 à 09:27

HibernateTemplate est une classe d'assistance utilisée pour simplifier le code d'accès aux données. Cette classe prend en charge la conversion automatique des HibernateExceptions qui est une exception vérifiée en DataAccessExceptions qui est une exception non vérifiée. HibernateTemplate est généralement utilisé pour implémenter des services d'accès aux données ou de logique métier. La méthode centrale est execute (), qui prend en charge le code Hibernate qui implémente l'interface HibernateCallback. Définissez HibernateTemplate.

Org.springframework.orm.hibernate.HibernateTemplate est une classe d'assistance qui fournit différentes méthodes pour interroger / récupérer des données de la base de données. Il convertit également les HibernateExceptions vérifiées en DataAccessExceptions non vérifiées.

Avantages d'HibernateTemplate:

  1. HibernateTemplate simplifie les interactions avec Hibernate Session.

  2. Les fonctions communes sont simplifiées en appels de méthode uniques.

  3. Les sessions sont automatiquement fermées.

  4. Les exceptions sont automatiquement interceptées et sont converties en exceptions d'exécution.

Visitez ce lien pour le bon exemple

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

3
Suraj Khanra 5 juin 2017 à 12:07