Hibernate中的几个关键类

  • Configuration:用于配置和启动hibernate,然后可以创建出SessionFactory。

  • SessionFactory:作为产生session的工厂,一个SessionFactory实例代表一个数据库存储源,如果要访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。它是重量级的,内部有很多缓存,不可随意创建和销毁。

  • Session:用于增删改对象。

  • Transaction:用于事务的功能。

  • Query和Criteria:用于查询数据。

public class HibernateDaoImpl implements HibernateDao{

    private SessionFactory sessionFactory;

    public HibernateDaoImpl(){

        Configuration config=new Configuration();

        config.addClass(Customer.class);

        sessionFactory=config.buildSessionFactory();

    }

    @Override
    public Session getSession() {

        return sessionFactory.openSession();

    }
}

其中代码中的config.addClass(Customer.class),是加载domain与数据库的映射关系的xml文件

config.buildSessionFactory(),是build一个SessionFactory,但是config.buildSessionFactory()传空参的方法是过时的,目前一般是buildSessionFactory(serviceRegistry)
但是:

ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

创建serviceRegistry的ServiceRegistryBuilder也是过时的,所以一般推荐以下写法来创建serviceRegistry

ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();

最后我们就可以创建我们的sessionFactory了

sessionFactory=config.buildSessionFactory(serviceRegistry);

你可能感兴趣的:(Hibernate中的几个关键类)