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相似---------------------



浙公网安备 33010602011771号