Hibernate工作流程

来源:互联网 发布:吉克隽逸 知乎 编辑:程序博客网 时间:2024/05/21 10:11

Hibernate创建步骤

(五大核心接口:Configuration/SessionFactory/Session/Transaction/Query)

1.新建工程,导入需要的jar包。

2.利用MyEclipse自动生成功能在工程中创建hibernate.cfg.xml配置文件和

 HibernateSessionFactory.java工具类。生成的主要内容如下:

hibernate.cfg.xml:

<hibernate-configuration><session-factory><property name="connection.username">root</property><property name="connection.url">jdbc:mysql://localhost:3306/databasename</property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="myeclipse.connection.profile">dangdang</property><property name="connection.password">root</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><mapping resource="entity/User.hbm.xml" /></session-factory></hibernate-configuration>
HibernateSessionFactory.java:

略。。。

3.创建UserDao接口和接口的实现类UserDaoImpl,实现类中测试:

UserDaoImpl.java:

public class UserDaoImpl implements UserDao {public List<User> findAll() {Session session = HibernateSessionFactory.getSession();Transaction tx = session.beginTransaction();Query query = session.createQuery("from User");                query.setFirstResult(0);//分页                query.setMaxResults(2);                List<User> lists = query.list();tx.commit();HibernateSessionFactory.closeSession();return lists;}public static void main(String[] args) {UserDaoImpl user = new UserDaoImpl();System.out.println(user.findAll().size());}}


访问的时候其工作流程:

1.读取并解析配置文件;

2.Configuration负责读取并创建映射信息,创建sessionfactory;

3.SessionFactory负责创建session;

4.Transaction负责开启事物Transaction;

5.Query负责执行持久化操作;

6.Transaction负责提交实物;

7.关闭session;

8.关闭sessionfactory。

持久化对象的三种状态: