Hibernate常用API以及使用说明

时间:2021-05-25 13:28:08

1===>Hibernate常用的aip有Configuration,SessionFactory,Transaction,Session

Configuration主要用于加载配置文件,使用

Configuration conf=new Configuration().configure("hibernate.cfg.xml")

来获取一个Configuration对象的实例,加载配置文件在应用启动时便应该对其进行初始化,而且整个应用的生命周期,仅需加载一次

2===>使用Configuration类的buildSessionFactory()方法可以用来获取一个Sessionfactory()对象,在整个应用中,作为Session的工厂仅存在一份就就可以

SessionFactory sf=conf.buildSessionFactory()

3===>SessionFactory用于创建会话,

Session session = sf.currentSession();

SessionFactory接口中提供有openSession()和getCurrentSession()两个方法用于获取与数据库交互的会话,

使用openSession()方法获取到的session,hibernate不会对其进行管理,用完后必须手动进行关闭,而且在多线程中不安全,不推荐使用

使用getCurrentSession()方法获取到的session,hibernate会对其进行管理,需要我们在配置文件中进行如下配置

<property name="current_session_context_class">thread</property>

使得到的session实例与线程进行绑定,在事务结束后,会自动关闭,不需要我们进行手动关闭,而且比较安全,不会重复产生session

session用于与数据库进行交互应该用于就丢,

4===>

使用Transaction tx=session.beginTransaction();来获取对事务Transaction接口的对象,用于对事务的管理

Session

对象的保存

Session中提供有数据库的增删改查方法

session.save()方法用于对数据的保存

按主键进行查询

Session中提供有两种方法

session.get(Class clazz,Serializable id) 根据参数中的id去查询数据库,如果没有结果返回null

session.load(Class clazz,Serializable id)根据参数中的id去查询数据库,如果没有结果会报出异常org.hibernate.ObjectNotFoundException

对象的更新