2017-05-05 38 views
5

Tôi mới trong Hibernate hiện đang muốn triển khai các lớp Mẫu Hibernate, bất kỳ ai vui lòng cho tôi biết về các lớp Mẫu Hibernate.Lớp HibernateTemplate là gì?

tập tin 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

HibernateTemplate Spring cung cấp một lớp trừu tượng hơn một phiên Hibernate. Nó chuyển đổi ngoại lệ dành riêng cho Hibernate thành một trong những ngoại lệ truy cập dữ liệu không được kiểm soát của Spring. Nó cũng cung cấp nhiều phương pháp tiện lợi giúp bạn trong việc truy vấn và kiên trì các đối tượng. – Sudhakar

Trả lời

3

Copied from Hibernate Interview Questions:

Hibernate Mẫu

Khi Spring và Hibernate tích hợp bắt đầu, Spring ORM cung cấp hai lớp helper - HibernateDaoSupportHibernateTemplate. Lý do để sử dụng chúng là lấy số Session từ Hibernate và nhận lợi ích về quản lý giao dịch mùa xuân. Tuy nhiên, từ Hibernate 3.0.1, chúng tôi có thể sử dụng phương thức SessionFactory getCurrentSession() để nhận phiên hiện tại và sử dụng nó để nhận các lợi ích quản lý giao dịch mùa xuân. Nếu bạn thực hiện các ví dụ trên, bạn sẽ thấy nó dễ dàng như thế nào và đó là lý do tại sao chúng tôi không nên sử dụng các lớp này nữa.

Một lợi ích khác của HibernateTemplate là bản dịch ngoại lệ nhưng có thể đạt được dễ dàng bằng cách sử dụng chú thích @Repository với các lớp dịch vụ , được hiển thị trong ví dụ về mvc mùa xuân ở trên. Đây là một câu hỏi về câu hỏi để đánh giá kiến ​​thức của bạn và liệu bạn có biết về sự phát triển của gần đây hay không.

1

HibernateTemplate là lớp org.springframework.orm.hibernate3. HibernateTemplate cung cấp sự tích hợp của hibernate và spring. Spring tự quản lý các kết nối cơ sở dữ liệu DML, DDL vv. HibernateTemplate có các phương thức như lưu, cập nhật, xóa vv Cố gắng hiểu cách cấu hình HibernateTemplate trong ứng dụng mùa xuân của chúng tôi.

Thêm cấu hình xml trong application.xml ứng dụng mùa xuân.

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

hibernateTemplate sẽ được sử dụng trong các lớp dao. Khởi tạo hibernateTemplate. Cung cấp một phương thức setter để đặt hibernateTemplate vào mùa xuân.

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 là một lớp helper được sử dụng để đơn giản hóa việc mã truy cập dữ liệu. Lớp này hỗ trợ tự động chuyển đổi HibernateExceptions mà là một ngoại lệ được kiểm tra thành DataAccessExceptions, đây là một ngoại lệ không được kiểm soát. HibernateTemplate thường được sử dụng để thực hiện truy cập dữ liệu hoặc dịch vụ logic nghiệp vụ. Phương thức trung tâm là execute(), hỗ trợ mã Hibernate thực hiện giao diện HibernateCallback. Xác định HibernateTemplate.

org.springframework.orm.hibernate.HibernateTemplate là lớp trợ giúp cung cấp các phương thức khác nhau để truy vấn/truy xuất dữ liệu từ cơ sở dữ liệu. Nó cũng chuyển đổi các HibernateExceptions đã kiểm tra thành các DataAccessExceptions không được kiểm soát.

lợi ích

HibernateTemplate:

  1. HibernateTemplate đơn giản hoá sự tương tác với Hibernate Session.

  2. Các chức năng phổ biến được đơn giản hóa thành các cuộc gọi phương thức đơn lẻ.

  3. Phiên sẽ tự động bị đóng.

  4. Ngoại lệ được tự động phát hiện và được chuyển đổi thành ngoại lệ thời gian chạy.

Visit link này cho ví dụ đúng

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