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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,803评论 19 139
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 6,070评论 0 27
  • (一)Struts、Spring、Hibernate、Mybatis框技术 1.Struts2.0有几种标签库 【...
    独云阅读 8,531评论 0 62
  • 本文包括:1、Hibernate的持久化类2、Hibernate 持久化对象的三个状态(难点)3、Hibernat...
    廖少少阅读 5,348评论 0 13
  • 无意间,翻开自己刚参加工作时写的日记,回想当年,我和大家一样,也很迷茫,不知道将来会怎样? 1 我是九十年代初参加...
    小雨的那些事阅读 2,498评论 2 2

友情链接更多精彩内容