hibernate(三种状态,session,主键生成策略,schemaExpert,使用session API 实现CRUD)

------------------三种状态----------------------------

瞬时对象的两种情况:new出来的新对象和delete之后的对象都是瞬时对象。

持久化对象的三种情况

托管或游离对象的两种情况

---------------------------------------session------------------------------

Session session = sessionFactory.openSession();方法产生session。(不推荐)

Session session = sessionFactory.getCurrentSession();方法产生session。

注意:

1.getCurrentSession方法产生的session在事务提交之后会自动关闭,不需要finally里面的关闭代码。

2.使用getCurrentSession方法,必须在cfg.xml主配置文档中配置current_session_context_class为thread

 

3.两者的区别

opensession每次产生的对象都不是一个对象,如下结果为false

getCurrentSession每次产生的对象都是一样的,如下结果为true

小结:

 

---------------------------------------------主键生成策略(xml格式:)---------------------------------------

-----------------------assigned-----常用------------------------------------

-----------------------hilo-----------------------------------------

-----------------------increment-------mysql不能演示-----------------

-----------------------identify----常用--------------------------------

----------------------------sequence----常用------mysql不能演示-------------

-------------------------------native-----最常用最推荐----------------

-----------------------------------UUID-------------------

---------------------------------------------主键生成策略(Annotation格式:)------------------------

----------------------------------------schemaExpert-------------------------------------------

自动生成数据库ddl语句,特别适合第一次运行时,会自动生成数据库,也有两种方式,xml和注解。

----------------------------------CRUD---------------------------------------

-----------------create-------------------

------------------查询get---------------------

------------------查询load---------------------

------------------修改update---------------------

------------------SaveOrUpdate---------------------

------------------delete删除---------------------

------------------merge与SaveOrUpdate相似---------------------

posted @ 2015-05-23 19:29  孟想阳光  阅读(176)  评论(0)    收藏  举报